Example #1
0
 public Floor(IScanner scanner, ITurret turret, int floorLevel, string floorName)
 {
     this.scanner   = scanner;
     this.turret    = turret;
     SecurityLevel  = floorLevel;
     this.floorName = floorName;
 }
Example #2
0
        public ITurret CloneTurret(ITurret turret)
        {
            var tempTurret = new LaserTurret();

            tempTurret = (LaserTurret)turret;
            return(tempTurret);
        }
Example #3
0
 // Use this for initialization
 void Start()
 {
     iturret        = (ITurret)gameObject.GetComponent(typeof(ITurret));
     upgradeObject  = GameObject.Find("TurretUpgradeObject");
     turretUpgrade  = upgradeObject.GetComponent <TurretUpgradeControl> ();
     timeOfLastShot = Time.time;
 }
Example #4
0
 public bool TryGetTurret(int _id, out ITurret _turret)
 {
     _turret = null;
     if (turrets.ContainsKey(_id))
     {
         _turret = turrets[_id];
     }
     return(_turret != null);
 }
Example #5
0
    public bool PurchaseTurret(ITurret turret)
    {
        int turretCost = turret.GetCost();

        if (turretCost <= gold)
        {
            gold -= turretCost;
            return(true);
        }

        return(false);
    }
Example #6
0
    public void PlayOn(Tile tile)
    {
        ITurret turret = tile.turret;

        turret.AddBadge(Badge);
        if (turret is Turret)
        {
            ((Turret)turret).fireRate *= 2;
        }

        if (turret is LaserTurret)
        {
            ((LaserTurret)turret).dps *= 2;
        }
        Destroy(Instantiate(PlayEffect, tile.transform.position, Quaternion.identity), 3f);
    }
        internal virtual void LoadTurret(ITurret turret, bool validateGun = true, bool validateLoadCapacity = true)
        {
            this.BeginChangeModules();
            this.LoadedModules.Turret = this.AvailableTurrets[turret];

            if (!this.IsTdorSPG)
            {
                this.AvailableGuns.Clear();
                foreach (var gun in turret.AvailableGuns.Values)
                {
                    this.AvailableGuns.Add(gun, _gunViewModelCache[gun]);
                }
            }

            if (validateGun)
            {
                if (!turret.AvailableGuns.TryGetValue(this.LoadedModules.Gun.Gun.Key, out IGun gun))
                {
                    this.LoadGun(turret.AvailableGuns.Values.FirstOrDefault(), false, false);
                }
                else
                {
                    if (gun != this.LoadedModules.Gun.Gun)                       // same gun, but parameters are different in this turret, so another instance
                    {
                        this.LoadGun(gun, false, false);
                    }
                }
            }

            if (validateLoadCapacity)
            {
                this.TryUpgradeChassis();
            }

            this.EndChangeModules();
        }
Example #8
0
        private static IGun GetEliteGun(ITurret turret)
        {
            var maxTier = turret.AvailableGuns.Values.Max(gun => gun.Tier);

            return(turret.AvailableGuns.Values.Where(gun => gun.Tier == maxTier).LastOrDefault());
        }
 public long GetCurrentTurret(ITurret turret) => (turret.Level.Value + turret.Id) + turret.Id * 3;
Example #10
0
        public void SetGameState(NWGameStateInfo _gameState)
        {
            if (_gameState == null)
            {
                Console.LogError(ConsoleFilter.GameController, "Update GameStateInfo is null");
                return;
            }

            if (Util.ArrayIsNullOrEmpty(_gameState.Teams))
            {
                Console.LogError(ConsoleFilter.GameController, "Update GameStateInfo  Teams is null");
                return;
            }
            foreach (NWTeamInfo team in _gameState.Teams)
            {
                if (!teams.ContainsKey(team.Id))
                {
                    Console.LogErrorFormat(ConsoleFilter.GameController, "Team {0} is not Containce", team.Id);
                    continue;
                }
                teams[team.Id].Resources = team.Resources;
                teams[team.Id].Units     = team.Units;
                teams[team.Id].Builds    = team.Builds;
                teams[team.Id].Turrets   = team.Turrets;
            }

            if (!Util.ArrayIsNullOrEmpty(_gameState.Units))
            {
                foreach (NWUnit serverUnit in _gameState.Units)
                {
                    Unit unit = null;
                    if (UnitController.TryGetUnit(serverUnit.Id, out unit) && unit != null)
                    {
                        unit.transform.position = Util.ConvertRTSStructToVector3(serverUnit.trasform);
                    }
                }
            }
            if (!Util.ArrayIsNullOrEmpty(_gameState.Builds))
            {
                foreach (NWBuild serverBuild in _gameState.Builds)
                {
                    BuildController.UpdateBuild(serverBuild);
                }
            }

            //add and Update Turrets
            int[]         turretsId = BuildController.GetAllTurretsId();
            HashSet <int> Turrets   = new HashSet <int>(turretsId);

            int[] serverTurretsId = Util.ArrayIsNullOrEmpty(_gameState.Turrets) ?
                                    new int[0] :
                                    Array.ConvertAll(_gameState.Turrets, x => x.Id);

            HashSet <int> ServerTurrets = new HashSet <int>(serverTurretsId);
            HashSet <int> removeTurrets = new HashSet <int>(Turrets);

            removeTurrets.ExceptWith(ServerTurrets);

            foreach (NWTurret nwTurret in _gameState.Turrets)
            {
                int     id     = nwTurret.Id;
                ITurret turret = null;
                if (BuildController.TryGetTurret(id, out turret) && turret != null)
                {
                    turret.UpdateInfo(nwTurret);
                }
                else
                {
                    BuildController.AddTurret(nwTurret);
                }
            }

            foreach (int turretId in removeTurrets)
            {
                BuildController.RemoveTurret(turretId);
            }
            commandQueue.Enqueue(() =>
            {
                UI.SetMainPlayerTeamInfo(teams[MainPlayerController.TeamId]);
            });
        }
        protected virtual void LoadModules(IChassis chassis = null, IEngine engine = null, IRadio radio = null, ITurret turret = null, IGun gun = null)
        {
            this.BeginChangeModules();

            if (engine != null)
            {
                this.LoadEngine(engine, false);
            }

            if (radio != null)
            {
                this.LoadRadio(radio, false);
            }

            if (turret != null)
            {
                this.LoadTurret(turret, gun == null, false);
            }

            if (gun != null)
            {
                this.LoadGun(gun, turret == null, false);
            }

            if (chassis == null)
            {
                this.TryUpgradeChassis();
            }
            else
            {
                this.LoadChassis(chassis);
            }

            this.EndChangeModules();
        }
 private IGun GetStockGun(ITurret turret)
 {
     return(turret.AvailableGuns.Values.FirstOrDefault());
 }
 public bool IsEliteModule(ITurret turret)
 {
     return(turret == this.Tank.AvailableTurrets.Values.Last());
 }
 public void AddTurret(ITurret turret) => _turrets.Add(turret);
Example #15
0
        public ITurret CloneTurret(ITurret turret)
        {
            var tempTurret = new BasicTurret((BasicTurret)turret);

            return(tempTurret);
        }
    //Set turret element for variables
    public void StartTurret( IEntity _parentEntity, TurretElement _turretType )
    {
        rotation = new RotateToPoint2D();
        fireSignal = new Signal();

        parentEntity = _parentEntity;
        View view = parentEntity.view;
        turretEntity = view.GetComponent<PlayerView>().turretBehaviour;

        if( view == null || turretEntity == null ){
            Debug.Log( "Selected Entity does not not meet requirement, entity null " + (turretEntity == null) );
            return;
        }

        _t = view._t;
        isFiring = true;
        SetNewTurretType( _turretType );
        fireMechanism = FireMechanism();
        parentEntity.view.StartCoroutine(fireMechanism);
    }