public static RenderAIWorld BuildAIWorld(GraphicsClass InGraphics, AIWorld InWorldInfo)
        {
            RenderAIWorld OurAIWorld = new RenderAIWorld(InGraphics);

            OurAIWorld.Init(InWorldInfo);
            return(OurAIWorld);
        }
Example #2
0
        public override IAIObject CreateObjectAI(AIWorld worldAI, IObject obj)
        {
            if (obj is BoardGameLayer)
            {
                BoardGameLayer boardGameLayer = obj as BoardGameLayer;

                return(new AIBoardGameLayer(worldAI, this, boardGameLayer));
            }

            return(null);
        }
        public override IAIObject CreateObjectAI(AIWorld worldAI, AAILayer layerAI, IObject obj)
        {
            if (obj is StarLinkEntity)
            {
                StarLinkEntity entity = obj as StarLinkEntity;

                return(new AIStarLinkEntity(layerAI, this, entity));
            }

            return(null);
        }
Example #4
0
        public override IAIObject CreateObjectAI(AIWorld worldAI, AAILayer layerAI, IObject obj)
        {
            if (obj is CJStarDomain)
            {
                CJStarDomain entity = obj as CJStarDomain;

                return(new AICJStarDomain(layerAI, this, entity));
            }

            return(null);
        }
Example #5
0
        public void Init(AIWorld WorldInfo)
        {
            InitWorldInfo = WorldInfo;

            string BoxID = string.Format("AIWorld_{0}", RefManager.GetNewRefID());

            AIWorldBatch = new PrimitiveBatch(PrimitiveType.Box, BoxID);
            WorldInfo.PopulatePrimitiveBatch(AIWorldBatch);

            OwnGraphics.OurPrimitiveManager.AddPrimitiveBatch(AIWorldBatch);
        }
Example #6
0
    public void createCoach(string behaviacPath)
    {
        aiWorld = new AIWorld(behaviacPath);

        var btName = "Coach";

        //红方教练
        fbWorld.createCoach(this, FBTeam.kRed, aiWorld.workspace, btName);
        //蓝方教练
        fbWorld.createCoach(this, FBTeam.kBlue, aiWorld.workspace, btName);

        //红方门将教练
        fbWorld.createGKCoach(this, FBTeam.kRed, aiWorld.workspace, btName);
        //蓝方门将教练
        fbWorld.createGKCoach(this, FBTeam.kBlue, aiWorld.workspace, btName);
    }
Example #7
0
    void Awake()
    {
        InfluenceMap.getInstance().center     = new Vector2(center.x, center.z);
        InfluenceMap.getInstance().DefaultY   = center.y;
        InfluenceMap.getInstance().height     = height;
        InfluenceMap.getInstance().width      = width;
        InfluenceMap.getInstance().htileCount = h_Tile;
        InfluenceMap.getInstance().wtileCount = w_Tile;
        InfluenceMap.getInstance().mPlane     = mPlane;
        InfluenceMap.getInstance().Init();
        GAPopulation.GlobalInit();
        GAPopulationManager.getInstance().Init();
        Type type = Type.GetType(DemoWorldName);

        aiWorld = (AIWorld)type.Assembly.CreateInstance(DemoWorldName);
        aiWorld.Init();
    }
Example #8
0
        public AIBoardGameLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardGameLayer layer)
            : base(world2D, layerFactory, layer)
        {
            this.StarToLinks = new Dictionary <AIStarEntity, HashSet <AIStarLinkEntity> >();

            this.StarSystem = new HashSet <AIStarEntity>();

            this.StarLinkSystem = new HashSet <AIStarLinkEntity>();

            this.StarDomainSystem = new HashSet <AICJStarDomain>();

            layer.CardPicked += this.OnCardPicked;
            //layer.CardUnpicked += this.OnCardUnPicked;

            layer.SourceStarEntitiesSet += OnSourceStarEntitiesSet;
            layer.TargetStarEntitiesSet += OnTargetStarEntitiesSet;

            layer.NbCardsToPlaceChanged += OnNbCardsToPlaceChanged;
        }
Example #9
0
        public AIBoardNotifLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardNotifLayer layer)
            : base(world2D, layerFactory, layer)
        {
            this.CardsHand = new List <AICardEntity>();

            layer.CardCreated += OnCardCreated;
            layer.CardRemoved += OnCardRemoved;

            layer.CardPicked   += OnCardPicked;
            layer.CardUnpicked += OnCardUnpicked;

            layer.CardFocused += OnCardFocused;

            layer.CardAwakened += OnCardAwakened;

            layer.NotifBehaviorStarted      += OnNotifBehaviorStarted;
            layer.NotifBehaviorPhaseChanged += OnNotifBehaviorPhaseChanged;
            layer.NotifBehaviorUseChanged   += OnNotifBehaviorUseChanged;
            layer.NotifBehaviorEnded        += OnNotifBehaviorEnded;
        }
        public static IType ConstructByTypeID(AIWorld InWorld, ushort ID)
        {
            IType Output = null;

            switch (ID)
            {
            case 1:
                Output = new AIWorld_Type1(InWorld);
                break;

            case 2:
                //Output = new AIWorld_Type2();
                break;

            case 4:
                Output = new AIWorld_Type4(InWorld);
                break;

            case 7:
                Output = new AIWorld_Type7(InWorld);
                break;

            case 8:
                Output = new AIWorld_Type8(InWorld);
                break;

            case 9:
                Output = new AIWorld_Type9(InWorld);
                break;

            case 11:
                Output = new AIWorld_Type11(InWorld);
                break;

            default:
                break;
            }

            return(Output);
        }
        public AIBoardPlayerLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardPlayerLayer layer)
            : base(world2D, layerFactory, layer)
        {
            this.cardsDeck     = new List <AICardEntity>();
            this.cardsCemetery = new List <AICardEntity>();
            this.cardsHand     = new List <AICardEntity>();

            layer.CardDrawn            += OnCardDrawn;
            layer.NbCardsToDrawChanged += OnNbCardToDrawsChanged;

            layer.CardFocused += OnCardFocused;

            layer.CardPicked   += OnCardPicked;
            layer.CardUnpicked += OnCardUnpicked;

            layer.PileFocusedChanged += OnPileFocusedChanged;

            layer.CardDestroyed += OnCardDestroyed;
            // layer.CardResurrected += OnCardResurrected;

            layer.SourceCardEntitiesSet += OnSourceCardEntitiesSet;
        }
 private void Awake()
 {
     Instance = this;
 }
 public override IAIObject CreateObjectAI(AIWorld worldAI, IObject obj)
 {
     return(this.CreateObjectAI(worldAI, null, obj));
 }