コード例 #1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (capturePoint >= 5f && territoryState != TerritoryState.FACTION1)
        {
            capturePoint   = 5f;
            territoryState = TerritoryState.FACTION1;
            world.ownedTerritory1++;
        }
        else if (capturePoint <= -5f && territoryState != TerritoryState.FACTION2)
        {
            capturePoint   = -5f;
            territoryState = TerritoryState.FACTION2;
            world.ownedTerritory2++;
        }

        if (territoryState != TerritoryState.UNCAPTURED)
        {
            //Debug.Log("Inside captured");
            if (territoryState == TerritoryState.FACTION1)
            {
                if (world.numPopulation1 < world.maxPopulation1)
                {
                    timeLeft1 -= Time.deltaTime;
                    if (timeLeft1 < 0)
                    {
                        Instantiate(dronePrefab, new Vector3(transform.position.x, transform.position.y - 0.6f, 0), Quaternion.identity);
                        world.numPopulation1++;
                        timeLeft1 = 5f;
                    }
                }
            }
            if (territoryState == TerritoryState.FACTION2)
            {
                if (world.numPopulation2 < world.maxPopulation2)
                {
                    timeLeft2 -= Time.deltaTime;
                    if (timeLeft2 <= 0)
                    {
                        Instantiate(dronePrefab, new Vector3(transform.position.x, transform.position.y - 0.6f, 0), Quaternion.identity);
                        world.numPopulation2++;
                        timeLeft2 = 5f;
                    }
                }
            }
        }
    }
コード例 #2
0
ファイル: Territory.cs プロジェクト: NachoDevs/OneGameAWeek
    public void UpdateTerritoryState(TerritoryState t_state)
    {
        Color materialColor = m_gm.defaultTerritoryColor;

        switch (team)
        {
        case Team.Blue:
            materialColor = m_gm.blueTerritoryColor;
            break;

        case Team.Red:
            materialColor = m_gm.redTerritoryColor;
            break;

        default:
            materialColor = m_gm.defaultTerritoryColor;
            break;
        }

        switch (t_state)
        {
        case TerritoryState.Hovered:
            materialColor *= (team == Team.Neutral) ? 1 : .95f;
            break;

        case TerritoryState.Selected:
            if (selected)
            {
                UpdateTerritoryState(TerritoryState.Default);
            }
            else
            {
                materialColor = m_gm.selectedTerritoryColor;
                selected      = true;
            }
            break;

        default:
            selected = false;
            break;
        }


        m_renderer.material.SetColor("_Color", materialColor);
    }
コード例 #3
0
 public static string encode(TerritoryState ts)
 {
     return(@"#trs§" + ts.territoryName + "&" + ts.owner);
 }
コード例 #4
0
    public static void handle(string msg)
    {
        Regex reg   = new Regex(@"^#([\w\.\-]+)§([\w\.\-]+)&(.*?)$");
        Match match = reg.Match(msg);

        if (!match.Success)
        {
            Globals.DevConsole.print("Could not recognize message: " + msg);
            return;
        }

        string msg_type = match.Groups[1].ToString();

        switch (msg_type)
        {
        case "txm": {
            string msg_sender  = match.Groups[2].ToString();
            string msg_content = match.Groups[3].ToString();
            Globals.DevConsole.print(msg_content);
            break;
        }                               //regular Textmessage

        case "trs": {
            string ter_name              = match.Groups[2].ToString();
            string ter_owner             = match.Groups[3].ToString();
            TerritoryController t        = GameObject.Find(ter_name).GetComponent <TerritoryController>();
            TerritoryState      newState = new TerritoryState(ter_name, ter_owner);
            newState.Apply();
            break;
        }                               //TerritoryState

        case "spt": {
            string player_name = match.Groups[2].ToString();
            string team_name   = match.Groups[3].ToString();
            Globals.getPlayerByName(player_name).team = (Globals.TEAMS)Enum.Parse(typeof(Globals.TEAMS), team_name); //TODO: Differentiating players by their name is terrible
            break;
        }                                                                                                            //Set Player Team

        case "uid": {
            Globals.InstanceNetwork.gotPlayerId(int.Parse(match.Groups[2].ToString()));
            break;
        }                               //Receive player id froms erver

        case "con": {
            if (!Globals.InstanceNetwork.isHosting())
            {
                Globals.DevConsole.print("Confrimed player connection recevied while not hosting game");
                return;
            }
            PlayerInfo player = new PlayerInfo(match.Groups[3].ToString());
            player.id = int.Parse(match.Groups[2].ToString());
            Globals.players.Add(player);
            break;
        }                               //Confrim new connected player

        case "evt": {
            string event_name = match.Groups[2].ToString();
            switch (event_name)
            {
            case "startGame": {
                Globals.startGame();
                break;
            }
            }
            break;
        }                               //Start the game
        }
    }
コード例 #5
0
ファイル: TerritoryStateFixture.cs プロジェクト: trasa/cabal
 public void Get_Territory_By_Id()
 {
     var state = new TerritoryState { TerritoryId = 1 };
     Assert.That(state.Territory.Id, Is.EqualTo(1));
 }
コード例 #6
0
 public void setState(TerritoryState ts)
 {
     setOwner(ts.owner);
 }