//configures data public virtual void Init(Enemy_ScriptObject scriptObject) { spotRadius = scriptObject.spotRadius; attackRadius = scriptObject.attackRadius; attackRate = scriptObject.attackRate; facingRight = scriptObject.facingRight; }
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]; }
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; }
//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; } }
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; }