protected override void Awake() { isUp = false; myStats = GetComponent <Stats>(); SetAllStats(); InitilizeStates(); fire.animatorSpeed = EnemyStatsManager.Instance.blasterStats.animationShootSpeed; controller.Initialize(properties, mod, velBody, animator, myStats, navAgent, navObstacle, aiStates); mod.setModSpot(ModSpot.ArmR); mod.AttachAffect(ref myStats, velBody); damaged.Set(DamagedType.MallCop, bloodEmissionLocation); controller.checksToUpdateState = new List <Func <bool> >() { CheckDoneGettingUp, CheckPlayerDead, CheckIfStunned, CheckToFire, CheckToFinishFiring, }; mod.damage = myStats.attack; currentToleranceTime = 0.0f; base.Awake(); }
private void Attach(ModSpot spot, Mod mod, bool isSwapping = false) { mod.gameObject.SetActive(true); if (modSocketDictionary[spot].mod != null && !isSwapping) { Detach(spot); } mod.setModSpot(spot); mod.transform.SetParent(modSocketDictionary[spot].socket); Vector3 localPos = modPositions[mod.getModType()].localPos; localPos.x *= Mathf.Sign(modSocketDictionary[spot].socket.localPosition.x); mod.transform.localPosition = localPos; mod.transform.localRotation = Quaternion.identity; mod.transform.localScale = Vector3.one; modSocketDictionary[spot].mod = mod; mod.AttachAffect(ref playerStats, velBody); }