Ejemplo n.º 1
0
    //***************************************************************************



    private void Awake()
    {
        whetherAlive = true;
        //whetherWisdom = false;
        wisdomNum        = 0;
        whetherGetSheild = false;
        sheildTimer      = 0f;
        theSheild.SetActive(false);

        highSpeedTimer   = 0f;
        whetherHighSpeed = false;
        theInstance      = this;
        thisRigidbody2d  = GetComponent <Rigidbody2D>();

        SetStartHistoryArray();
        LoadSkinSprite();
        SetPrefabSnakeHeadAndBody();
        snakeBodySpriteRenderer.sortingOrder = 0;

        InstantiateFirstBody();


        RiskGameManager.GetTheInstance().SetLenText(snakeLength);
        RiskGameManager.GetTheInstance().SetSpeedText((int)(snakeSpeed));
    }
Ejemplo n.º 2
0
 public void GetMushRoom()
 {
     RiskGameManager.GetTheInstance().SetScore(2);
     DoubleSnakeBody();
     SoundPlayer.PlayItemsSound(2);
     RiskGameManager.GetTheInstance().SetLenText(snakeLength);
 }
Ejemplo n.º 3
0
    // Update is called once per frame
    void Update()
    {
        if (whetherAlive)
        {
            if (whetherHighSpeed)
            {
                whetherHighSpeed = highSpeedTimer > 0;
                highSpeedTimer  -= Time.deltaTime;
                if (!whetherHighSpeed)
                {
                    RiskGameManager.GetTheInstance().SetSpeedText((int)(snakeSpeed));
                }
            }
            if (whetherGetSheild)
            {
                whetherGetSheild = sheildTimer > 0;
                theSheild.SetActive(whetherGetSheild);
                sheildTimer -= Time.deltaTime;
            }
        }

        else
        {
            RiskGameManager.GetTheInstance().TheSnakDie();
        }
    }
Ejemplo n.º 4
0
 public void GetEnergy()
 {
     SoundPlayer.PlayItemsSound(4);
     whetherHighSpeed = true;
     highSpeedTimer   = 5f;
     SetVelocity();
     RiskGameManager.GetTheInstance().SetSpeedText((int)(snakeSpeed * highSpeedK));
 }
Ejemplo n.º 5
0
    //*********************************************************************************************************************************************
    private void Awake()
    {
        Time.timeScale = 1f;

        RiskGameManager.theInstance = this;

        SetScoreText();
    }
Ejemplo n.º 6
0
 private void OnMouseUp()
 {
     if (RiskGameManager.Shared().CurrentTurn.Player == this)
     {
         if (SelectedTerritory.Territory.highlightMode != TerritoryHighlightMode.PlayerSelected)
         {
             SelectedTerritory.Territory.highlightMode = TerritoryHighlightMode.PlayerSelected;
         }
         else
         {
             SelectedTerritory.Territory.highlightMode = TerritoryHighlightMode.PlayerHover;
         }
     }
 }
Ejemplo n.º 7
0
    /// <summary>
    /// Creates an array of cloned GameObjects of armies.
    /// </summary>
    /// <param name="count">The number of armies to clone.</param>
    /// <returns>An array of armies with the given count.</returns>
    private ArmyController[] InstantiateNewArmies(uint count)
    {
        List <ArmyController> defaultArmies = new List <ArmyController>();

        for (int i = 0; i < count; ++i)
        {
            GameObject     basicArmyCopy = Instantiate <GameObject>(RiskGameManager.Shared().PrefabBasicArmy);
            ArmyController army          = basicArmyCopy.GetComponent <ArmyController>();
            army.Player = this;
            defaultArmies.Add(army);
        }

        return(defaultArmies.ToArray());
    }
Ejemplo n.º 8
0
    /// <summary>
    /// Start is called before the first frame update
    /// </summary>
    private void Start()
    {
        _SharedMgr = this;

        // Validate players
        if (Players.Length <= 1)
        {
            Debug.LogError(_MinimumPlayersErrorMessage);
        }

        // Initialize first turn
        Turn turn = new Turn(Players[0]);

        UnderlyingTurn = turn;
    }
Ejemplo n.º 9
0
    private void OnMouseDown()
    {
        if (Territory.highlightMode != TerritoryHighlightMode.PlayerSelected)
        {
            PlayerController player = RiskGameManager.Shared().CurrentTurn.Player;

            if (player.SelectedTerritory == this)
            {
                player.SelectedTerritory = null;
            }
            else
            {
                player.SelectedTerritory = this;
            }
        }
    }
Ejemplo n.º 10
0
Archivo: Turn.cs Proyecto: oxcug/team12
    //private PlayerState _PlayerState = PlayerState.ChooseTerritory;

    public PlayerState CurrentPlayerState()
    {
        if (RiskGameManager.Shared().CurrentGameState() == RiskGameManager.GameState.ChooseTerritories)
        {
            return(PlayerState.ChooseTerritory);
        }
        else if (Player.UnassignedArmies.Length > 0)
        {
            return(PlayerState.Reinforce);
        }
        else if (Player.Reinforcing)
        {
            return(PlayerState.Attack);
        }
        else
        {
            return(PlayerState.Foritfy);
        }
    }
Ejemplo n.º 11
0
 public void GetMine()
 {
     if (whetherGetSheild)
     {
         SoundPlayer.PlayItemsSound(5);
         whetherGetSheild = false;
         theSheild.SetActive(false);
         sheildTimer = 0;
         return;
     }
     RiskGameManager.GetTheInstance().SetScore(3);
     SoundPlayer.PlayItemsSound(3);
     if (snakeLength == 1)
     {
         whetherAlive = false;
         RiskGameManager.GetTheInstance().SetLenText(0);
         return;
     }
     HalfSnakeBody();
     RiskGameManager.GetTheInstance().SetLenText(snakeLength);
 }
Ejemplo n.º 12
0
 //吃到物体后触发的方法
 public void GetOneFood()
 {
     RiskMapCreater.GetTheInstance().ClearTarPosList();
     RiskGameManager.GetTheInstance().SetScore(0);
     wisdomNum--;
     if (wisdomNum < 0)
     {
         wisdomNum = 0;
     }
     else if (wisdomNum == 0)
     {
         BackFromWisdom();
     }
     else
     {
         RiskMapCreater.GetTheInstance().SnakeGetTheWisdom();
     }
     AddOneBody();
     SoundPlayer.PlayItemsSound(0);
     RiskGameManager.GetTheInstance().SetLenText(snakeLength);
 }
Ejemplo n.º 13
0
    public void GetOnePoison()
    {
        if (whetherGetSheild)
        {
            SoundPlayer.PlayItemsSound(5);
            whetherGetSheild = false;
            theSheild.SetActive(false);
            sheildTimer = 0;
            return;
        }

        RiskGameManager.GetTheInstance().SetScore(1);

        SoundPlayer.PlayItemsSound(1);
        if (snakeLength <= 2)
        {
            whetherAlive = false;
            RiskGameManager.GetTheInstance().SetLenText(snakeLength - 2);
            return;
        }
        MinusNBody(2);
        RiskGameManager.GetTheInstance().SetLenText(snakeLength);
    }
Ejemplo n.º 14
0
 public bool OwnsCurrentTurn()
 {
     return(RiskGameManager.Shared().CurrentTurn.Player == this);
 }
Ejemplo n.º 15
0
 private void Start()
 {
     RiskGameManager.Shared().RegisterTerritory(this);
 }
Ejemplo n.º 16
0
 // Start is called before the first frame update
 private void Start()
 {
     RiskGameManager.Shared().RegisterArmy(this);
 }
Ejemplo n.º 17
0
 private void OnDestroy()
 {
     RiskGameManager.Shared().UnregisterArmy(this);
 }