override public bool Init(ObjectInitParam param) { GhostInitParam ghostParam = (GhostInitParam)param; mGhostData = ghostParam.ghost_data; if (!DataManager.PlayerTable.ContainsKey(mGhostData.resId)) { return(false); } mRes = DataManager.PlayerTable[mGhostData.resId] as PlayerTableItem; mModelResID = mRes.model; mMainWeaponID = mGhostData.main_weaponId; mMainPlayer = ghostParam.main_player; if (!base.Init(param)) { return(false); } InitProperty(mGhostData); SetLeague(ghostParam.league); return(true); }
override protected void OnGameStart() { base.OnGameStart(); if (mModule.GetGhostGuid() == null || mModule.GetGhostData() == null) { SceneManager.Instance.RequestEnterLastCity(); return; } GhostInitParam initParam = new GhostInitParam(); initParam.init_pos = GetInitPosByName("ghost"); initParam.init_pos.y = GetHeight(initParam.init_pos.x, initParam.init_pos.z); initParam.init_dir = GetInitDirByName("ghost"); initParam.ghost_data = mModule.GetGhostData(); initParam.league = LeagueDef.Blue; initParam.main_player = false; CreateSprite(initParam); if (Vector3.zero != GetInitPosByName("ghostcrops1") && null != mModule.MainCropsInfo && -1 != mModule.MainCropsInfo.mCropsId) { //创建玩家拥有的佣兵 CropsInitParam cropsParam = new CropsInitParam(); cropsParam.crops_res_id = mModule.MainCropsInfo.mCropsId; cropsParam.init_pos = GetInitPosByName("ghostcrops1"); cropsParam.init_pos.y = GetHeight(cropsParam.init_pos.x, cropsParam.init_pos.z); cropsParam.init_dir = GetInitDirByName("ghostcrops1"); cropsParam.league = LeagueDef.Blue; cropsParam.cropsinfo = mModule.MainCropsInfo; CreateSprite(cropsParam); if (Vector3.zero != GetInitPosByName("ghostcrops2") && null != mModule.SubCropsInfo && -1 != mModule.SubCropsInfo.mCropsId) { cropsParam.crops_res_id = mModule.SubCropsInfo.mCropsId; cropsParam.init_pos = GetInitPosByName("ghostcrops2"); cropsParam.init_pos.y = GetHeight(cropsParam.init_pos.x, cropsParam.init_pos.z); cropsParam.init_dir = GetInitDirByName("ghostcrops2"); cropsParam.league = LeagueDef.Blue; cropsParam.cropsinfo = mModule.SubCropsInfo; CreateSprite(cropsParam); } } WindowManager.Instance.OpenUI("fight321"); }
override public ObjectBase CreateMainPlayer() { GhostInitParam initParam = new GhostInitParam(); initParam.init_pos = GetInitPos(); initParam.init_pos.y = GetHeight(initParam.init_pos.x, initParam.init_pos.z); initParam.init_dir = GetInitDir(); initParam.ghost_data.SyncProperty(PlayerDataPool.Instance.MainData); initParam.league = LeagueDef.Red; initParam.main_player = true; ObjectBase playerGhost = CreateSprite(initParam); if (playerGhost == null) { return(null); } SetOwner(playerGhost); PlayerController.Instance.SetControl(playerGhost.InstanceID); //uint.MaxValue); return(playerGhost); }
override public bool LogicUpdate(uint elapsed) { if (!base.LogicUpdate(elapsed)) { return(false); } if (mUpdateInterval > 0) { if (!mCompleted) { mUpdateInterval -= (int)elapsed; if (mUpdateInterval <= 0) { UpdateDamage(); mUpdateInterval = 500; } } } if (mRequestTimer > 0) { mRequestTimer -= (int)elapsed; if (mRequestTimer <= 0) { RequestPartner(); } } if (mAwardTimer > 0) { mAwardTimer -= (int)elapsed; if (mAwardTimer <= 0) { RequestRankingAward(); } } int partnerCount = ActivityManager.Instance.PartnerList.Count; if (partnerCount > 0) { if (mCreateTimer > 0) { mCreateTimer -= (int)elapsed; if (mCreateTimer <= 0) { GhostInitParam initParam = new GhostInitParam(); initParam.init_pos = GetInitPosByName("player"); initParam.init_dir = GetInitDirByName("player"); initParam.ghost_data.SyncProperty(ActivityManager.Instance.PartnerList[partnerCount - 1]); initParam.league = LeagueDef.Red; initParam.main_player = false; CreateSprite(initParam); // mGhostList.Add(CreateSprite(initParam) as Ghost); ActivityManager.Instance.PartnerList.RemoveAt(partnerCount - 1); mCreateTimer = 2000; } } } UpdateBoss(elapsed); return(true); }