Exemple #1
0
    public void moveTo(Vector2 spot)
    {
        // rxl244: prevent unit from moving twice
        if(alreadyMoved){
            return;
        }else{
            alreadyMoved = true;
        }
        terrain = ground.grid[(int)location.y, (int)location.x].GetComponent<TerrainScript>();
        terrain.SendMessage("switchOccupied");
        ground.grid[(int)location.y, (int)location.x].renderer.material.color = Color.white;
        terrain = ground.grid[(int)spot.y, (int)spot.x].GetComponent<TerrainScript>();
        terrain.SendMessage("switchOccupied");
        Vector3 destination = ground.grid[(int)spot.y, (int)spot.x].transform.localPosition;
        destination.y += 5;
        location = spot;
        gameObject.transform.localPosition = destination;

        // rxl244: so the player can win (AI does this in the AI Master script
        if(unitType == "radioChild" && team == 1){
            foreach(Vector2 goalLocation in ground.goalLocations){
                if(location.x == goalLocation.x && location.y == goalLocation.y){
                    ground.grid[(int)goalLocation.y,(int)goalLocation.x].GetComponent<TerrainScript>().SendMessage("setTaken",1);
                }
            }
        }
    }
Exemple #2
0
    void OnMouseDown()
    {
        storeColor = gameObject.renderer.material.color;
            gameObject.renderer.material.color = Color.white;
        // rxl244: added if statement to prevent this unit from looking like it can move when it may not be able to
        if(!alreadyMoved){
            terrain = ground.grid[(int)location.y, (int)location.x].GetComponent<TerrainScript>();
            terrain.SendMessage("UnitSelected", gameObject);
            interaction.SendMessage("NewUnitSelected", gameObject);
        }

        // rxl244: update interface when unit is clicked on
        gameMaster.SendMessage("updateUnitInfo",new float[]{this.hp,this.atkPower,this.moveSpeed,this.team});
        gameMaster.SendMessage("updateName",this.unitType);
    }
Exemple #3
0
    void team1Make()
    {
        //		Debug.Log ("Team1");
        Vector2[] start = ground.player1StartLocations;
        Vector3 location = Vector3.zero;
        team1 = new GameObject[teamSize];
        int[] unitTypes = {radioChild, rogue, bomber, brain, brute};

        int loopMax = start.Length;
        if(teamSize < start.Length)
            loopMax = teamSize;
        for(int i = (loopMax - 1); i >= 0 ; i--){
            terrain = ground.grid[(int)start[i].y, (int)start[i].x].GetComponent<TerrainScript>();
            terrain.SendMessage("switchOccupied");
            location = ground.grid[(int)start[i].y, (int)start[i].x].transform.localPosition;
            location.y += 5;
            UnitScript u;
            if(unitTypes[0] > 0){
                team1[i] = Instantiate(RadioChild) as GameObject;
                team1[i].transform.localPosition = location;
                u = team1[i].AddComponent("UnitScript") as UnitScript;
                setUnit(team1[i], "radioChild");
                unitTypes[0]--;
            }else if(unitTypes[1] > 0){
                team1[i] = Instantiate(Rogue) as GameObject;
                team1[i].transform.localPosition = location;
                u = team1[i].AddComponent("UnitScript") as UnitScript;
                setUnit(team1[i], "rogue");
                unitTypes[1]--;
            }else if(unitTypes[2] > 0){
                team1[i] = Instantiate(Bomber) as GameObject;
                team1[i].transform.localPosition = location;
                u = team1[i].AddComponent("UnitScript") as UnitScript;
                setUnit(team1[i], "bomber");
                unitTypes[2]--;
            }else if(unitTypes[3] > 0){
                team1[i] = Instantiate(Brain) as GameObject;
                team1[i].transform.localPosition = location;
                u = team1[i].AddComponent("UnitScript") as UnitScript;
                setUnit(team1[i], "brain");
                unitTypes[3]--;
            }else {
                team1[i] = Instantiate(Brute) as GameObject;
                team1[i].transform.localPosition = location;
                u = team1[i].AddComponent("UnitScript") as UnitScript;
                setUnit(team1[i], "brute");
            }
            u.location = start[i];
            setTeam (team1[i], 1);

        //			team1[i].renderer.material.color = Color.blue;
        }
        //		Debug.Log("Team1Complete");
    }