Exemple #1
0
    IEnumerator AnimateStats()
    {
        Quaternion targetHeading = Quaternion.Euler(0, 60 * heading, 0);
        float      headingError  = Quaternion.Angle(targetHeading, transform.rotation);

        Vector3 targetPosition = hexPos.getPosition();

        targetPosition.y = HEIGHT_PER_ALTITUDE * altitude;

        Vector3 posError = targetPosition - transform.position;

        float timerMax = 1.0f;
        float timer    = timerMax;

        // rotate/climb
        while (timer > 0)
        {
            transform.rotation  = Quaternion.RotateTowards(transform.rotation, targetHeading, headingError / timerMax);
            transform.position += posError * 0.2f;

            posError = targetPosition - transform.position;

            timer -= Time.deltaTime;
            yield return(new WaitForEndOfFrame());
        }
        transform.position = targetPosition;
    }
Exemple #2
0
 public void build_on(int selected, HexPosition destination)
 {
     Debug.Log ("Selected " + selected.ToString ());
     Settlement unit = this.buildings[selected];
     GameObject unit_go = (GameObject) Instantiate (unit.gameObject, destination.getPosition(), new Quaternion());
     unit_go.transform.parent = GameObject.FindGameObjectWithTag ("Units").transform;
     grid.AddUnit (unit);
     unit.SetGrid (grid);
     grid.ai.add_unit (unit);
     this.state = State.DONE;
     grid.state_change (this);
 }
 override public void OnStartLocalPlayer()
 {
     Object.Destroy(GameObject.FindGameObjectWithTag("Network Manager HUD").GetComponents <Component> () [2]);
     HexPosition.setColor("Path", Color.yellow, 1);
     HexPosition.setColor("Selection", Color.green, 2);
     HexPosition.setColor("Selectable", Color.green, 3);
     HexPosition.setColor("Attack", Color.red, 4);
     HexPosition.setColor("Cursor", Color.blue, 5);
     HexPosition.Marker = marker;
     foreach (GameObject child in GameObject.FindGameObjectsWithTag("Obstacle"))
     {
         HexPosition position = new HexPosition(child.transform.position);
         child.transform.position = position.getPosition();
         position.flag("Obstacle");
     }
     CmdAddPlayer();
 }
Exemple #4
0
 void Start()
 {
     unitsRoot.BroadcastMessage("SetGrid", this);
     //timeout = MAX_TIME;
     HexPosition.setColor("Path", Color.yellow, 1);
     HexPosition.setColor("Selection", Color.green, 2);
     HexPosition.setColor("Selectable", Color.green, 3);
     HexPosition.setColor("Attack", Color.red, 4);
     HexPosition.setColor("Cursor", Color.blue, 5);
     HexPosition.Marker = marker;
     foreach (Transform child in obstacles.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Obstacle");
     }
 }
Exemple #5
0
 void Start()
 {
     HexPosition.setColor("Path", Color.yellow, 1);
     HexPosition.setColor("Selection", Color.green, 2);
     HexPosition.setColor("Selectable", Color.green, 3);
     HexPosition.setColor("Attack", Color.red, 4);
     HexPosition.setColor("Cursor", Color.blue, 5);
     HexPosition.Marker = marker;
     foreach (GameObject child in GameObject.FindGameObjectsWithTag("Obstacle"))
     {
         HexPosition position = new HexPosition(child.transform.position);
         child.transform.position = position.getPosition();
         position.flag("Obstacle");
     }
     units = new List <Unit> (Object.FindObjectsOfType <Unit> ());
     foreach (Unit unit in units)
     {
         unit.setPlayerInterface(this, true);
     }
 }
Exemple #6
0
    void Generate()
    {
        traversiblePositions = new List <HexPosition>();

        for (int x = 0; x < size.x; x++)
        {
            for (int y = 0; y < size.y; y++)
            {
                int terrainIdx   = Random.Range(0, terrainTypes.Length - 1);
                int heightOffset = Random.Range(0, 3);

                //Vector3 pos = new Vector3(x, 0, y);
                HexPosition newTile = new HexPosition(x, y);

                Vector3 newPos = newTile.getPosition();
                newPos.y = heightOffset * 0.08f;

                GameObject terrainInstance = Instantiate(terrainTypes[terrainIdx], newPos, Quaternion.Euler(0, 30, 0), this.transform);
                newTile.add("Terrain", terrainInstance);
                traversiblePositions.Add(newTile);
            }
        }
    }
 public void SetPosition(HexPosition position)
 {
     this.position      = position;
     transform.position = position.getPosition();
     position.add("Unit", this);
 }
Exemple #8
0
 void Start()
 {
     unitsRoot.BroadcastMessage("SetGrid", this);
     //timeout = MAX_TIME;
     HexPosition.setColor("Path", Color.yellow, 1);
     HexPosition.setColor("Selection", Color.green, 2);
     HexPosition.setColor("Selectable", Color.green, 3);
     HexPosition.setColor("Attack", Color.red, 4);
     HexPosition.setColor("Cursor", Color.blue, 5);
     HexPosition.Marker = marker;
     foreach (Transform child in obstacles.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Obstacle");
     }
     foreach (Transform child in Bases.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Base");
     }
     foreach (Transform child in Forest.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Forest");
     }
     foreach (Transform child in Lava.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Lava");
     }
     foreach (Transform child in Hospital.transform)
     {
         HexPosition position = new HexPosition(child.position);
         child.position = position.getPosition();
         position.flag("Hospital");
     }
 }
Exemple #9
0
    void Start()
    {
        //Spawn the units
        GameObject unitsRoot = new GameObject();
        unitsRoot.name = "UnitsCreated";
        _spawnOwnUnits(unitsRoot);
        _spawnOtherUnits(unitsRoot);
        unitsRoot.BroadcastMessage("SetGrid", this);

        Debug.Log("Loaded Scene by calling start");
        //timeout = MAX_TIME;
        HexPosition.setColor("Path", Color.yellow, 1);
        HexPosition.setColor("Selection", Color.green, 2);
        HexPosition.setColor("Selectable", Color.green, 3);
        HexPosition.setColor("Attack", Color.red, 4);
        HexPosition.setColor("Cursor", Color.blue, 5);
        HexPosition.Marker = marker;
        foreach (Transform child in obstacles.transform) {
            HexPosition position = new HexPosition(child.position);
            child.position = position.getPosition();
            position.flag("Obstacle");
        }
        selectSelectable();
        ai = new AI(units, 1);
    }