public void Rebuild() { if (!Dead || IsCrushed || //!FactionManager.CanAfford(FactionNumber, RebuildCost) || Lives < 1) { return; } ShouldDeathSound = true; //FactionManager.AddCells(FactionNumber, -RebuildCost); //TextParticleSystem.AddParticle(new Vector3(Position.X(), Y, Position.Y()), '-' + RebuildCost.ToString(), (byte)GetTeam()); for (int i = 0; i < 10; i++) { ParticleManager.CreateParticle(new Vector3(Position.X(), Y, Position.Y()), Vector3.Zero, Color.White, Size.X(), 1); } BuildTimer = 0; Dead = false; MyBustedTurret.Deactivate(); InstanceManager.AddChild(this); AddTag(GameObjectTag._2DSolid); AddTag(GameObjectTag._2DForward); ShieldDamage = 0; HullDamage = 0; FreezeTime = 0; }
public override void CreateInGame() { base.CreateInGame(); ShipMatrixScale = InstanceManager.AddChild(this); WorldMatrix = Matrix.CreateScale(Size.X()) * Matrix.CreateRotationY(Rotation.getAsRadians()) * Matrix.CreateTranslation(new Vector3(Position.X(), Y, Position.Y())); SetQuadGridPosition(); }
public UnitBasic(int FactionNumber) : base(FactionNumber) { Load(); if (InstancerCommit()) { ShipMatrixScale = InstanceManager.AddChild(this); } }
public void Activate() { particleAlpha = 1; Size.set(ParentTurret.Size.get()); Position.set(ParentTurret.Position.get()); Rotation.set(ParentTurret.Rotation.get()); SetQuadGridPosition(); InstanceManager.AddChild(this); AddTag(GameObjectTag.Update); //AddTag(GameObjectTag._2DSolid); }