本文整理汇总了C#中Vehicle.IsValid方法的典型用法代码示例。如果您正苦于以下问题:C# Vehicle.IsValid方法的具体用法?C# Vehicle.IsValid怎么用?C# Vehicle.IsValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vehicle
的用法示例。
在下文中一共展示了Vehicle.IsValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AdvanceStage
private void AdvanceStage()
{
TimerBars = new TimerBars();
CurrentStage++;
CurrentObjectives.Clear();
foreach (var veh in CurrentMission.Vehicles.Where(v => v.SpawnAfter == CurrentStage))
{
var newv = new Vehicle(Util.RequestModel(veh.ModelHash), veh.Position)
{
PrimaryColor = Color.FromArgb((int)veh.PrimaryColor.X, (int)veh.PrimaryColor.Y,
(int)veh.PrimaryColor.Z),
SecondaryColor = Color.FromArgb((int)veh.SecondaryColor.X, (int)veh.SecondaryColor.Y,
(int)veh.SecondaryColor.Z),
};
newv.Health = veh.Health;
newv.Rotation = veh.Rotation;
GameFiber.StartNew(delegate
{
while (IsMissionPlaying && (veh.RemoveAfter == 0 || veh.RemoveAfter > CurrentStage))
{
if (veh.FailMissionOnDeath && newv.IsDead)
{
FailMission(reason: "The vehicle has been destroyed.");
}
GameFiber.Yield();
}
if(newv.IsValid())
newv.Delete();
});
}
foreach (var veh in CurrentMission.Objectives.OfType<SerializableVehicleObjective>().Where(v => v.SpawnAfter == CurrentStage))
{
var newv = new Vehicle(Util.RequestModel(veh.ModelHash), veh.Position)
{
PrimaryColor = Color.FromArgb((int)veh.PrimaryColor.X, (int)veh.PrimaryColor.Y,
(int)veh.PrimaryColor.Z),
SecondaryColor = Color.FromArgb((int)veh.SecondaryColor.X, (int)veh.SecondaryColor.Y,
(int)veh.SecondaryColor.Z),
};
newv.Health = veh.Health;
newv.Rotation = veh.Rotation;
var hasActivated = false;
if (veh.ActivateAfter == CurrentStage)
{
CurrentObjectives.Add(veh);
hasActivated = true;
}
GameFiber.StartNew(delegate
{
if(!hasActivated)
{
while (CurrentStage != veh.ActivateAfter && IsMissionPlaying)
{
GameFiber.Yield();
}
CurrentObjectives.Add(veh);
}
var blip = newv.AttachBlip();
if(veh.ObjectiveType == 0)
{
blip.Color = Color.DarkRed;
while (!newv.IsDead && IsMissionPlaying)
{
if (veh.ShowHealthBar)
{
TimerBars.UpdateValue(newv.Handle.Value.ToString(), veh.Name, true, (100f*newv.Health / veh.Health).ToString("###") + "%");
}
GameFiber.Yield();
}
TimerBars.UpdateValue(newv.Handle.Value.ToString(), veh.Name, true, "0%");
}
if (veh.ObjectiveType == 1)
{
blip.Color = Color.CornflowerBlue;
while (!Game.LocalPlayer.Character.IsInVehicle(newv, false) && IsMissionPlaying)
{
GameFiber.Yield();
}
}
CurrentObjectives.Remove(veh);
if(blip.IsValid())
blip.Delete();
while (IsMissionPlaying)
//.........这里部分代码省略.........