Пример #1
0
        public bool CanCreateStructure(shared.Vector2Int location, out shared.MessageTypes reason)
        {
            if (!GameServer.Instance.Structures.CanCreateStructure(location))
            {
                reason = shared.MessageTypes.Invalid_Structure_Location;
                return(false);
            }

            // has resources?
            reason = shared.MessageTypes.None;
            return(true);
        }
Пример #2
0
        public bool CanUpgradeStructure(shared.Vector2Int location, Structure.StructureType newType, out shared.MessageTypes reason)
        {
            if (!ownedOutposts.ContainsKey(location))
            {
                reason = shared.MessageTypes.No_OP;
                return(false);
            }
            Structure structure = ownedOutposts[location];

            if (structure.Type != Structure.StructureType.Outpost)
            {
                reason = shared.MessageTypes.Op_Not_Upgradable;
                return(false);
            }

            //check resources
            bool hasResources = true;

            if (!hasResources)
            {
                reason = shared.MessageTypes.Not_Enough_Resources;
                return(false);
            }

            //check age
            bool validAge = true;

            if (!validAge)
            {
                reason = shared.MessageTypes.Invalid_Op_Age;
                return(false);
            }

            reason = shared.MessageTypes.Success;
            return(true);
        }