Inheritance: MonoBehaviour
Esempio n. 1
0
    public void Move(BarricadeWaypoint target, RefactoredBarricade barricade)
    {
        if (setTargetOn.currentWaypoint != null)
        {
            setTargetOn.currentWaypoint.occupied = false;
            setTargetOn.currentBarricade.residentList.Remove(setTargetOn);

            if (setTargetOn.unitType == UnitTypes.Mechanic)
                StartCoroutine(setTargetOn.EndFortify());

            else if (setTargetOn.unitType == UnitTypes.Medic)
                StartCoroutine(setTargetOn.DeactivateHeal());
        }
        setTargetOn.healthRegenRate = 0;
        setTargetOn.currentWaypoint = target;
        setTargetOn.currentBarricade = barricade;
        target.occupied = true;
        target.resident = setTargetOn.gameObject;
        setTargetOn.currentWaypoint = target;
        barricade.residentList.Add(setTargetOn);

        if (setTargetOn.agent.enabled)
        {
            setTargetOn.agent.ResetPath();
            setTargetOn.agent.SetDestination(target.transform.position);
        }
    }
Esempio n. 2
0
    void Update()
    {
        // Run when user clicks
        if (!Input.GetMouseButtonDown(0))
        {
            return;
        }

        // Raycast to mouse
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        // Return if nothing was hit
        if (!Physics.Raycast(ray, out hit))
        {
            return;
        }

        // If player selects barricade, call SetTarget on the selected player character, checking for null.
        else
        {
            waypoint_cache = hit.collider.gameObject.GetComponent<BarricadeWaypoint>();

            if (hit.collider.tag == "Barricade" && setTargetOn != null)
            {
                // Invoke UI
            }
        }

        // Place target reticule
        //transform.position = hit.point + hit.normal*surfaceOffset;
    }
Esempio n. 3
0
 void AddListeners(Button b, BarricadeWaypoint parameter, RefactoredBarricade barricade)
 {
     b.onClick.RemoveAllListeners();
     b.onClick.AddListener(delegate { Move(parameter, barricade); });
 }