Exemple #1
0
 public void ForceUnSpawn()
 {
     CooldownManager.RemoveCooldown(cooldown);
     UnSpawn();
 }
Exemple #2
0
    public void Update()
    {
        var dir = new Vector2();
        var pos = pysicItem.Position;

        switch (State)
        {
        case MinerState.idleReturn:
            if (cooldownIdleReturn == null)
            {
                cooldownIdleReturn = CooldownManager.AddCooldown(1, null, () => {
                    CooldownManager.RemoveCooldown(cooldownIdleReturn);
                    cooldownIdleReturn = null;

                    direcr = 1;

                    State = MinerState.runMine;

                    view.StopTruck();
                });
            }

            break;

        case MinerState.idleMine:
            if (cooldownIdleMine == null)
            {
                cooldownIdleMine = CooldownManager.AddCooldown(1, null, () => {
                    direcr = -1;

                    State = MinerState.runReturn;
                    CooldownManager.RemoveCooldown(cooldownIdleMine);
                    cooldownIdleMine = null;
                    view.StopKirka();

                    view.PlayTruck();
                });
                view.PlayKirka();
            }
            break;

        case MinerState.runMine:
            dir = new Vector2(speed * direcr, 0);
            pysicItem.AddVelocity(dir);

            if (pos.x > maxPos.x && direcr != -1)
            {
                pysicItem.SetVelocity(new Vector2());



                State = MinerState.idleMine;
            }

            break;


        case MinerState.runReturn:
            dir = new Vector2(speed * direcr, 0);
            pysicItem.AddVelocity(dir);

            if (pos.x < minPos.x && direcr != 1)
            {
                pysicItem.SetVelocity(new Vector2());
                pysicItem.SetPosition(new Vector2(minPos.x, pysicItem.Position.y));
                //   direcr = 1;
                speed = UnityEngine.Random.Range(0.1f, 4.5f);



                State = MinerState.idleReturn;
            }

            break;
        }
    }