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); }
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); }