Esempio n. 1
0
 //configures data
 public virtual void Init(Enemy_ScriptObject scriptObject)
 {
     spotRadius   = scriptObject.spotRadius;
     attackRadius = scriptObject.attackRadius;
     attackRate   = scriptObject.attackRate;
     facingRight  = scriptObject.facingRight;
 }
Esempio n. 2
0
        public override void Init(Enemy_ScriptObject scriptObject)
        {
            base.Init(scriptObject);
            phaseDict.Add(EnemyPhase.Phase1, new Phase1(this));
            // phaseDict.Add(EnemyPhase.Phase2, new Phase2(this));

            chosenPhase = phaseDict[scriptObject.enemyPhase];
        }
Esempio n. 3
0
        public override void Init(Enemy_ScriptObject scriptObject, Transform attackSource, EnemyPhase phase)
        {
            base.Init(scriptObject, attackSource, phase);

            //add the phase sub-classes at the dictionary
            phaseDict.Add(EnemyPhase.Phase1, new Phase1(this));
            phaseDict.Add(EnemyPhase.Phase2, new Phase2(this));

            chosenPhase       = phaseDict[phase];
            projectilePrefab  = scriptObject.projectilePrefab;
            this.attackSource = attackSource;
        }
Esempio n. 4
0
        //configures data
        public virtual void Init(Enemy_ScriptObject scriptObject, Transform attackSource, EnemyPhase phase)
        {
            animator     = gameObject.GetComponent <Animator>();
            spotRadius   = scriptObject.spotRadius;
            attackRadius = scriptObject.attackRadius;
            facingRight  = scriptObject.facingRight;
            attackRate   = scriptObject.attackRate;

            if (phase == EnemyPhase.Phase2)
            {
                attackRate /= scriptObject.attackRateMultiplier;
            }
        }
Esempio n. 5
0
        private Coroutine rollCoroutine;               //asynchronous work

        public override void Init(Enemy_ScriptObject scriptObject, Transform attackSource, EnemyPhase phase)
        {
            base.Init(scriptObject, attackSource, phase);

            //add the phase sub-classes at the dictionary
            phaseDict.Add(EnemyPhase.Phase1, new Phase1(this));
            phaseDict.Add(EnemyPhase.Phase2, new Phase1(this));

            chosenPhase = phaseDict[phase];

            rollRigid = GetComponent <Rigidbody2D>();
            rollSpeed = scriptObject.movementSpeed * 25f;
        }