public void Initialize(DungeonCharacter dc, CharBehaviour c) { dchar = dc; charBehaviour = c; c.achar = this; planned = false; }
private void StartPullTowards(CharBehaviour puller) { if (outsideChar.GetState() == CharState.Outside || outsideChar.GetState() == CharState.Dead) { pullTowardsStarted = true; pullTowardTimer.Restart(); } }
private void EjectCharacter(CharBehaviour charBehaviour) { occupied = true; outsideChar = charBehaviour.charController; outsideChar.PerformTransition(insideFloorPos, outsideFloorPos, CharState.Outside, true); hoseAnimator.gameObject.SetActive(true); hoseAnimator.endFollow = outsideChar.outsideBehaviour.hoseAttachSpot; }
public override void DoAction(CharBehaviour charBehaviour) { base.DoAction(charBehaviour); if (!occupied) { EjectCharacter(charBehaviour); } else { StartPullTowards(charBehaviour); } }
public void SpawnEnemyInMap(Character c, CharBehaviour cb, Tile p, FACING facing) { DungeonCharacter dc = SpawnCharInMap(c, ALIGNMENT.enemy, p); AutonomousCharacter ac = dc.gameObject.AddComponent("AutonomousCharacter") as AutonomousCharacter; ac.Initialize(dc, cb); GameObject so = Instantiate(Resources.Load("spriteObj"), p.worldPos, Quaternion.identity) as GameObject; EntitySprite espr = so.GetComponentInChildren<EntitySprite>(); so.transform.parent = dc.transform; dc.entity.erenderer = espr; dc.esprite = espr; espr.Initialize(dc.entity, c.spriteData, GameState.charLSManager); espr.Turn((int)facing); enemiesInPlay.Add(ac); }
public virtual void DoAction(CharBehaviour charBehaviour) { DoAction(); }