public void Initialize(DungeonCharacter dc, CharBehaviour c)
 {
     dchar = dc;
     charBehaviour = c;
     c.achar = this;
     planned = false;
 }
Example #2
0
 private void StartPullTowards(CharBehaviour puller)
 {
     if (outsideChar.GetState() == CharState.Outside || outsideChar.GetState() == CharState.Dead)
     {
         pullTowardsStarted = true;
         pullTowardTimer.Restart();
     }
 }
Example #3
0
 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;
 }
Example #4
0
 public override void DoAction(CharBehaviour charBehaviour)
 {
     base.DoAction(charBehaviour);
     if (!occupied)
     {
         EjectCharacter(charBehaviour);
     }
     else
     {
         StartPullTowards(charBehaviour);
     }
 }
Example #5
0
    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);
    }
Example #6
0
 public virtual void DoAction(CharBehaviour charBehaviour)
 {
     DoAction();
 }