Ejemplo n.º 1
0
        public void CmdPerfomAttack(string defenderId, Team attackerTeam, float attackPoints)
        {
            GameActor defender = UnitsManager.GetInstance().GetByUniqueNetworkId(defenderId);

            if (defender == null)
            {
                defender = BuildingsManager.GetInstance().GetByUniqueNetworkId(defenderId);
            }

            VisibleLogger.GetInstance().LogDebug(
                string.Format("Damage [{0}] for {1}",
                              defender.GetId()
                              , attackPoints
                              ));

            defender.ActorAttributes.HealthPoints -= attackPoints;

            if (HpLessThanZero(defender) && defender.LifeState == GameActor.UnitLifeState.LIVING)
            {
                VisibleLogger.GetInstance().LogDebug(
                    string.Format("Changing [{0}] state {1} -> {2}",
                                  defender.GetId()
                                  , defender.LifeState,
                                  GameActor.UnitLifeState.WAITING_FOR_DEAD_ACTION
                                  ));

                PlayersManager.GetInstance().Get(attackerTeam).Gold += defender.ActorAttributes.KillReward;

                defender.LifeState = GameActor.UnitLifeState.WAITING_FOR_DEAD_ACTION;
            }
        }
Ejemplo n.º 2
0
        public void Start()
        {
            VisibleLogger.GetInstance().LogDebug("Initializing in order");

            UpdateablesManager.Add(UnitsManager.GetInstance());
            UpdateablesManager.Add(BuildingsManager.GetInstance());

            foreach (var preplayBuildingInitializer in GetComponents <PreplayBuildingInitializer>())
            {
                preplayBuildingInitializer.InitInOrder();
                Destroy(preplayBuildingInitializer);
            }

            foreach (var initializableChild in Gui.GetComponentsInChildren <IInOrderInitializable>())
            {
                initializableChild.InitInOrder();
            }

            VisibleLogger.GetInstance().LogDebug("Initializing in order successfully finished");
        }