Ejemplo n.º 1
0
 // Start is called before the first frame update
 void Start()
 {
     if (instance == null)
     {
         armies = new List <GameObject>(GameObject.FindGameObjectsWithTag("Army"));
         foreach (var unit in armies)
         {
             if (unit.layer == LayerMask.NameToLayer("PlayerA"))
             {
                 PlayerAArmies.Add(unit);
             }
             else
             {
                 PlayerBArmies.Add(unit);
             }
             var point = unit.GetComponent <ArmyMovement>();
             PlayerPrefs.SetFloat(unit.name + " Point", ArmySelectionController.getPoint(transform.position).y * 4 + ArmySelectionController.getPoint(transform.position).x);
             DontDestroyOnLoad(unit);
         }
         DontDestroyOnLoad(gameObject);
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
 }
Ejemplo n.º 2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        var index            = ArmySelectionController.getPoint(transform.position);
        var battleSceneIndex = (int)(index.y * 4 + index.x);

        gameObject.GetComponent <ArmyDetail>().SetStatus(ArmyDetail.Status.InBattle);
        NetworkManager.singleton.ServerChangeScene("BattleScene" + battleSceneIndex.ToString());
    }
Ejemplo n.º 3
0
    // Start is called before the first frame update
    void Start()
    {
        destination = transform.position;

        backgroundSize = background.GetComponent <Renderer>().bounds.size;
        anchorPoint    = background.gameObject.transform.position - backgroundSize / 2;
        point          = ArmySelectionController.getPoint(transform.position);

        OnDestinationChanged += HandleNewDestination;
    }
Ejemplo n.º 4
0
    public void BuildNewArmy()
    {
        Vector3 position      = ArmySelectionController.getPosition(spawnPos);
        var     _lookRotation = Quaternion.LookRotation(Vector3.forward, Vector3.up);
        var     rotation      = _lookRotation;

        var newArmy = Instantiate(playerAArmy, position, rotation);

        newArmy.GetComponent <ArmyDetail>().SetDetail(soldier, tank);
    }
Ejemplo n.º 5
0
    // Update is called once per frame
    void Update()
    {
        //Cập nhật mảng unit sau mỗi frame
        armies = new List <GameObject>(GameObject.FindGameObjectsWithTag("Army"));
        foreach (var unit in armies)
        {
            if (PlayerAArmies.IndexOf(unit) < 0)
            {
                if (unit.layer == LayerMask.NameToLayer("PlayerA"))
                {
                    PlayerAArmies.Add(unit);
                }
            }
            if (PlayerBArmies.IndexOf(unit) < 0)
            {
                if (unit.layer == LayerMask.NameToLayer("PlayerB"))
                {
                    PlayerBArmies.Add(unit);
                }
            }
            var point = unit.GetComponent <ArmyMovement>();
            PlayerPrefs.SetFloat(unit.name + " Point", ArmySelectionController.getPoint(transform.position).y * 4 + ArmySelectionController.getPoint(transform.position).x);
            DontDestroyOnLoad(unit);
        }
        DontDestroyOnLoad(gameObject);

        foreach (var unit in armies)
        {
            var tanks   = unit.GetComponent <ArmyDetail>().tanks;
            var soldier = unit.GetComponent <ArmyDetail>().soldiers;
            if (tanks + soldier == 0)
            {
                if (unit.layer == LayerMask.NameToLayer("PlayerA"))
                {
                    PlayerAArmies.Remove(unit);
                }
                else
                {
                    PlayerBArmies.Remove(unit);
                }
                armies.Remove(unit);
                Destroy(unit);
            }
        }
    }
Ejemplo n.º 6
0
    // Start is called before the first frame update
    void Start()
    {
        var players = GameObject.FindGameObjectsWithTag("Player");

        foreach (var index in players)
        {
            if (index.GetComponent <ArmySelectionController>().isLocalPlayer)
            {
                player = index.GetComponent <ArmySelectionController>();
                break;
            }
        }

        if (player.myLayer == "PlayerA")
        {
            spawnPos = new Vector2(0, 3);
        }
        else
        {
            spawnPos = new Vector2(3, 0);
        }
    }