Exemplo n.º 1
0
        // Update is called once per frame
        protected override void Update()
        {
            #region Find the Managers.

            if (!_turretManagerRpc)
            {
                _turretManagerRpc = TurretManagerRpcClient.Instance;
                return;
            }

            if (!_turretManager)
            {
                _turretManager = TurretManager.Instance;
            }

            #endregion

            RaycastHit hit;

            var ray = _camera.ScreenPointToRay(Input.mousePosition);
            if (Input.GetKeyDown("1"))
            {
                Button_Back("");
                return;
            }

            if (!Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
                return;
            }
            if (hit.transform.tag != "Platform")
            {
                return;
            }
            _turretManager.ShowTurretShadow(CurrentSpawningTurret, TeamGroup, hit.point);

            if (Input.GetMouseButtonDown(0))
            {
                if (hit.transform.tag == "Platform")
                {
                    int turretNumber;
                    if (!TurretDictionary.Instance.TurretNameToId.TryGetValue(CurrentSpawningTurret, out turretNumber))
                    {
                        return;
                    }
                    _turretManagerRpc.TurretSpawnSendRpc((int)turretNumber, TeamGroup, hit.point);
                }
            }
        }