public ServerCreator(WarServerManager server) { WarSMgr = server; AiLoader = Core.ResEng.getLoader <AILoader>(); virNpcLoader = Core.ResEng.getLoader <VirtualNpcLoader>(); reader = Core.Data.getIModelConfig <SceneEditorDataRead>(); }
public override void OnAwake() { loader = Core.ResEng.getLoader <VirtualNpcLoader>(); mWarPoint = GameObject.FindGameObjectWithTag("WarServer"); freshGroupModel = Core.Data.getIModelConfig <FreshGroupModel>(); freshPoolModel = Core.Data.getIModelConfig <FreshPoolModel>(); AiLoader = Core.ResEng.getLoader <AILoader>(); myHero = gameObject.GetComponent <BNPC>(); curPool = freshPoolModel.GetNPCFreshPool(myHero.dataInScene.freshParam.freshPoolID); crtMsg = new IpcCreateNpcMsg(); crtMsg.npclist = new CrtHero[1]; crtMsg.npclist[0] = new CrtHero(); hpMsg = new IpcNpcHpMsg(); }
public void CastSk(params Object[] args) { if (castor != null && param != null) { WarSrcAnimParam srcParam = param as WarSrcAnimParam; if (srcParam != null) { SelfDescribed sd = srcParam.described; if (sd != null) { EndResult result = sd.targetEnd; if (result != null) { int modelId = result.param3; VirtualNpcLoader loader = Core.ResEng.getLoader <VirtualNpcLoader>(); Transform tran = castor.transform; Vector3 pos = tran.position + tran.rotation * Vector3.forward; pos.y = 0.1f; GameObject obj = loader.LoadBulletNpc(modelId, castor.Camp, pos, tran.rotation); Physics.IgnoreCollision(castor.collider, obj.collider); if (obj != null) { ServerBulletNpc npc = obj.GetComponent <ServerBulletNpc>(); { SendCrtBulletMsg(npc); castor.addChildNpc(npc); npc.Init(castor, param); } } } } } } }
public void CastSk(params Object[] args) { if (castor != null && param != null) { WarSrcAnimParam srcParam = param as WarSrcAnimParam; if (srcParam != null) { SelfDescribed sd = srcParam.described; if (sd != null) { EndResult result = sd.srcEnd; CreatNpcDepandency cnd = (CreatNpcDepandency)result.obj; if (cnd != null && cnd.TargetVector3 != null) { VirtualNpcLoader loader = Core.ResEng.getLoader <VirtualNpcLoader>(); GameObject obj = null; Vector3 pos = Vector3.zero; foreach (Vec3F v in cnd.TargetVector3) { pos = v.toUnityVec3(); int id = result.param1; obj = loader.LoadNpcObj(id, castor.Camp, pos, Quaternion.LookRotation(Vector3.back)); if (obj != null) { ServerNPC npc = obj.GetComponent <ServerNPC>(); if (npc != null) { SendCrtNpcMsg(npc); castor.addChildNpc(npc); npc.data = cnd.Source; npc.Init(castor, srcParam); if (npc.collider != null) { npc.collider.enabled = cnd.IsCollide; } if (npc is LifeSummonNPC) { AttachAI(npc, result.param2); } if (cnd.Buff_IDs != null) { for (int i = 0; i < cnd.Buff_IDs.Length; i++) { BuffCtorParam bp = new BuffCtorParam(); bp.bufNum = cnd.Buff_IDs[i]; bp.fromNpcId = castor.UniqueID; bp.toNpcId = npc.UniqueID; bp.origin = AW.Data.OriginOfBuff.Alone; bp.duration = Consts.USE_BUFF_CONFIG_DURATION; bp.initLayer = 1; WarServerManager.Instance.bufMgr.createBuff(bp); } } } } } } } } } }