public void ForceUnSpawn() { CooldownManager.RemoveCooldown(cooldown); UnSpawn(); }
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; } }