public void ShowBeastExplosionForBeast(MBeast beast) { MExplosion explosion = new MExplosion(true); explosion.x = beast.x; explosion.y = beast.y; explosion.rotation = RXRandom.Float()*360.0f; explosion.shader = FShader.Additive; explosion.color = beast.player.color.color; AddChild(explosion); }
public void Destroy() { attackTarget = null; attackTower = null; this.isEnabled = false; }
public void Start(MPlayer player) { this.player = player; hasTarget = false; target = new Vector2(0,0); velocity = new Vector2(0,0); attackTarget = null; attackTower = null; isAttacking = false; isAttackingTower = false; attackFrame = 0; blinkFrame = 0; if(player.leapLevel < 1) { beastType = MBeastType.A; } else if(player.leapLevel < 2) { beastType = MBeastType.B; } else { beastType = MBeastType.C; } UpdateStats(); _advanceCount = 0; _elementSet = _elementSets[player.color.index*MBeastType.beastTypes.Length + beastType.index]; sprite.element = _elementSet.walkElements[0]; sprite.color = MGame.colorWhite; this.scale = 0.0f; this.isEnabled = true; }
public void RemoveBeast(MBeast beastToRemove) { beastToRemove.Destroy(); _beasts.RemoveItem(beastToRemove, ref _beastCount); //put it back in the right container if(beastToRemove.container == _beastContainerSpecial) { beastToRemove.sprite.shader = FShader.Basic; _beastContainerSpecial.RemoveChild(beastToRemove); } beastToRemove.player.beasts.Remove(beastToRemove); //don't pool because it could cause problems beastToRemove.RemoveFromContainer(); //MBeast.pool.Add (beastToRemove); }