public void ApplyPowerUp(GameObject gameObject) { (gameObject as Bomberman).Invulnerability = true; if (oneTime) { manager = new InvulnerabilityManager(gameObject as Bomberman); AddComponent(manager); } }
public Bomberman() : base("BomberMan") { // LayerMask this.Layer = (uint)CollisionLayer.BomberMan; #region Animations playerAnimations.Add(AnimationType.WALK_RIGHT, new AnimationRenderer(FlyWeight.Get("BomberMan"), 68, 88, 7, new int[] { 35, 35, 36, 36, 37, 37, 37 }, 0.04f, false, true)); playerAnimations.Add(AnimationType.WALK_LEFT, new AnimationRenderer(FlyWeight.Get("BomberMan"), 69, 88, 7, new int[] { 44, 44, 43, 43, 42, 42, 42 }, 0.04f, false, true)); playerAnimations.Add(AnimationType.WALK_DOWN, new AnimationRenderer(FlyWeight.Get("BomberMan"), 64, 87, 7, new int[] { 0, 0, 1, 1, 2, 2, 2 }, 0.04f, false, true)); playerAnimations.Add(AnimationType.WALK_UP, new AnimationRenderer(FlyWeight.Get("BomberMan"), 64, 87, 7, new int[] { 7, 7, 8, 8, 9, 9, 9 }, 0.04f, false, true)); playerAnimations.Add(AnimationType.IDLE, new AnimationRenderer(FlyWeight.Get("BomberMan"), 62, 87, 7, new int[] { 0 }, 0.04f, true, false)); playerAnimations.ToList().ForEach(item => AddComponent(item.Value)); playerAnimations.ToList().ForEach(item => item.Value.RenderOffset = (int)RenderLayer.Player); #endregion //Bomb fsm drop = new StateDrop(this); drop.OnStateEnter(); AddComponent(new FSMUpdater(drop)); #region Components AddComponent(new CharacterController()); AddComponent(new UpdateAnimation(this)); //Collider collider2D = new BoxCollider2D(new Vector2(1f, 1f)); collider2D.CollisionMode = CollisionMode.Collision; collider2D.CollisionStay += OnCollisionStay; collider2D.TriggerEnter += OnTriggerEnter; AddComponent(collider2D); AddComponent(new BoxCollider2DRenderer(new Vector4(1f, 0f, 0f, 0f))); Rigidbody2D rigidBody = new Rigidbody2D(); rigidBody.IsGravityAffected = false; AddComponent(rigidBody); AddComponent(new CameraFollow()); manager = new InvulnerabilityManager(this); AddComponent(manager); #endregion }