コード例 #1
0
        public override void ApplyEffects(PloobsEngine.IA.WorldState WorldState)
        {
            ////remove the resources
            foreach (var item in resourcesNeeded)
            {
                WorldSymbol WorldSymbol2 = WorldState.GetSymbol(item.Key);
                WorldSymbol2.SetSymbol <int>(WorldSymbol2.GetSymbol <int>() - item.Value);
                WorldState.SetSymbol(WorldSymbol2);
            }


            ///add one house
            WorldSymbol WorldSymbol = WorldState.GetSymbol(houseName);

            if (WorldSymbol == null)
            {
                WorldSymbol = new WorldSymbol(houseName, 1);
                WorldState.SetSymbol(WorldSymbol);
            }
            else
            {
                int val = WorldSymbol.GetSymbol <int>();
                WorldSymbol.SetSymbol(val + 1);
                WorldState.SetSymbol(WorldSymbol);
            }

            base.ApplyEffects(WorldState);
        }
コード例 #2
0
 public override void ApplyEffects(PloobsEngine.IA.WorldState WorldState)
 {
     ////add the resource
     {
         WorldSymbol WorldSymbol2 = WorldState.GetSymbol(resourceName);
         WorldSymbol2.SetSymbol <int>(WorldSymbol2.GetSymbol <int>() + Quantity);
         WorldState.SetSymbol(WorldSymbol2);
     }
 }
コード例 #3
0
 public override bool ProceduralPreConditions(WorldState WorldState)
 {
     foreach (var item in unitsNeeded)
     {
         WorldSymbol WorldSymbol = WorldState.GetSymbol(item.Key);
         if (WorldSymbol == null || WorldSymbol.GetSymbol <int>() < item.Value)
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #4
0
        public override void ApplyEffects(WorldState WorldState)
        {
            ///add one unit
            WorldSymbol WorldSymbol = WorldState.GetSymbol(unitName);
            if (WorldSymbol == null)
                WorldSymbol = new WorldSymbol(unitName, 0);

            WorldSymbol.SetSymbol<int>(WorldSymbol.GetSymbol<int>() + 1);
            WorldState.SetSymbol(WorldSymbol);

            ////remove the resources
            foreach (var item in resourcesNeeded)
            {
                WorldSymbol WorldSymbol2 = WorldState.GetSymbol(item.Key);
                WorldSymbol2.SetSymbol<int>(WorldSymbol2.GetSymbol<int>() - item.Value);
                WorldState.SetSymbol(WorldSymbol2);                        
            }
           
        }
コード例 #5
0
        public override void ApplyEffects(WorldState WorldState)
        {
            ///add one unit
            WorldSymbol WorldSymbol = WorldState.GetSymbol(unitName);

            if (WorldSymbol == null)
            {
                WorldSymbol = new WorldSymbol(unitName, 0);
            }

            WorldSymbol.SetSymbol <int>(WorldSymbol.GetSymbol <int>() + 1);
            WorldState.SetSymbol(WorldSymbol);

            ////remove the resources
            foreach (var item in resourcesNeeded)
            {
                WorldSymbol WorldSymbol2 = WorldState.GetSymbol(item.Key);
                WorldSymbol2.SetSymbol <int>(WorldSymbol2.GetSymbol <int>() - item.Value);
                WorldState.SetSymbol(WorldSymbol2);
            }
        }