public void Init(SimpleAIRunner pSimpleAIRunner, SimpleAIStateJudger pSimpleAIStateJudger, GameObject pAITemplete, GameObject pPlayer, Vector3 pPos) { ECSWorld.MainWorld.registerEntityAfterInit(this); mSimpleAIRunner = pSimpleAIRunner; mSimpleAIStateJudger = pSimpleAIStateJudger; mAITemplate = pAITemplete; mPlayer = pPlayer; GeneratePos = pPos; mAIRT = GameObject.Instantiate(mAITemplate, GeneratePos, Quaternion.identity) as GameObject; this.AddComponent <LODComponent> (new LODComponent()); SimpleAISetSingleton.getInstance().GetComponent <SimpleAISet> ().mSimpleAIList.Add(this); this.AddComponent <AIMove> (new AIMove()); }
private SimpleAI RePair(SimpleAIRePairer pRePairer, SimpleAIRunner pRunner, SimpleAIStateJudger pJudger, GameObject pPrefab, GameObject pPlayer, SimpleAIDestroyer pDestroyer, string pType, GAObject pGAObject, int index) { SimpleAI sAI = new SimpleAI(); sAI.Init(pRunner, pJudger, pPrefab, pPlayer, pGAObject.mPosition); sAI.mSimpleAIRepairer = pRePairer; sAI.mSimpleAIDestroyer = pDestroyer; sAI.mType = pType; sAI.mCharacter = pGAObject; sAI.mSimpleAIRepairer.DoRePair(sAI); sAI.mName = pType + "index" + index; return(sAI); }