У меня есть эти 2 ошибки, но я не уверен, почему у меня есть другой класс с почти точно такой же структурой, и я не получаю эти две ошибки. Я попытался установить все для publi c, но все еще ничего. Я понимаю, что это происходит, потому что 2 имени определяются внутри if. Однако, как я сказал в другом классе, проблема не появится. Они имеют одинаковую структуру.
The name 'ped' does not exist in the current context
The name 'flashlightPos' does not exist in the current context
using FireCallouts.SimpleFunctions;
using Rage;
using System.Drawing;
namespace FireCallouts.Equipment
{
internal class Flashlight
{
private Rage.Object light;
private bool isActive = false;
private Ped character;
public Flashlight(Ped character)
{
this.character = character;
}
~Flashlight()
{
IsActive = false;
}
public bool IsActive
{
get
{
return isActive;
}
set
{
if (value == isActive)
return;
if (value)
{
Ped ped = Game.LocalPlayer.Character;
light = new Rage.Object("ex_prop_exec_cigar_01", Vector3.Zero);
Vector3 flashlightPos = ped.GetOffsetPosition(ped.GetPositionOffset(ped.GetBonePosition(PedBoneId.Spine2)));
Game.LogTrivial("[FireCallouts] Flashlight spawned");
}
else
{
if (light)
{
light.Delete();
}
character.Tasks.ClearSecondary();
}
isActive = value;
}
}
public void OnActiveUpdate()
{
if (character.IsPlayer)
{
GameFiber.Yield();
Util.DrawSpotlightWithShadow(flashlightPos, ped.GetBoneRotation(PedBoneId.Spine2).ToVector(), Color.White, 13.25f, 9.25f, 2.0f, 20f, 20.0f);
}
}
}
}```