Пример #1
0
 public void Exorcised()
 {
     state       = SoulStates.FLEE;
     col.enabled = true;
     particles.Play();
     transform.SetParent(null);
 }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        switch (state)
        {
        case SoulStates.WANDER:


            Transform t = SearchForHost();

            if (t != null)
            {
                target      = t;
                col.enabled = true;
                state       = SoulStates.CHASE;
            }
            break;


        case SoulStates.CHASE:

            MoveToTarget();


            break;


        case SoulStates.POSSESS:


            break;

        case SoulStates.FLEE:



            break;
        }
    }
Пример #3
0
    void PossessTarget()
    {
        victim           = target.GetComponent <AiCore>();
        job.victim       = victim;
        job.life.intType = life.life;
        victim.QuitPath();
        victim.tempSpell = fireball;
        foreach (MyStateMachine.BaseStateMachine j in victim.listOfJobs)
        {
            j.enabled = false;
        }

        transform.SetParent(target);

        job.tranformToDemon.fromSprite = victim.sprite;
        job.tranformToDemon.toSprite   = formSprite;
        job.tranformToDemon.hitbox     = hitbox;
        job.tranformToDemon.toState    = true;


        job.returnBackToNormal.fromSprite = formSprite;
        job.returnBackToNormal.toSprite   = victim.sprite;
        job.returnBackToNormal.hitbox     = hitbox;
        job.returnBackToNormal.toState    = false;

        job.deathReturnNormalForm.fromSprite = formSprite;
        job.deathReturnNormalForm.toSprite   = victim.sprite;
        job.deathReturnNormalForm.hitbox     = hitbox;
        job.deathReturnNormalForm.toState    = false;



        job.InitializeNewBody();
        particles.Stop();
        body.bodyType = RigidbodyType2D.Kinematic;
        col.enabled   = false;
        state         = SoulStates.POSSESS;
    }