Пример #1
0
    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();
    }
Пример #2
0
    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);
    }