public override void Update() { base.Update(); if (Input.GetButtonDown(button) && useTimer.canUse && !clone && !player.targetting) { player.targetting = true; } if (Input.GetButtonUp(button) && !clone && player.targetting && useTimer.Use) { clone = Instantiate(clonePrefab, transform.position + (Vector3)aim.normalized, Quaternion.identity).GetComponent <PlayerClone>(); clone.Invoke("Die", duration); clone.side = player.side; clone.rigidbody.velocity = aim.normalized * speed; player.targetting = false; } if (Input.GetButton(button) && player.targetting) { Vector3 v = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); if (v.magnitude > 0.8f) { aim = v; player.reticle.transform.localPosition = (Vector3)aim.normalized * reticleDist + Vector3.back * 2; player.side = aim.x > 0; } } }
public void RemovePlayerClone(PlayerClone clone) { for (int i = 0; i < playerClones.Count; i++) { if (playerClones[i] == clone) { playerClones.RemoveAt(i); return; } } }
bool FindTarget() { if (!target || Controller.inst.currentSave.upgrades[Upgrade.fissionDecoy]) { if (Controller.inst.currentSave.upgrades[Upgrade.fissionDecoy]) { PlayerClone decoy = FindObjectOfType <PlayerClone>(); if (decoy && InView(decoy.transform)) { target = decoy.transform; } } if (!target) { target = FindObjectOfType <Player>().transform; } } return(target); }
public void AddPlayerClone(PlayerClone playerClone) { playerClones.Add(playerClone); }