private void OnSyncEquips(KProtoBuf buf) { S2C_SYNC_EQUIPS respond = buf as S2C_SYNC_EQUIPS; SceneEntity hero = SceneLogic.GetInstance().GetSceneObject(respond.uHeroID); hero.DispatchEvent(ControllerCommand.EQUIP_CHANGE, respond.equips); }
public void OnSyncQuestValue(int questID, int valueIndex, int newValue) { KMissionLoaclInfo localInfo = baseInfoList[questID.ToString()]; MissionInfo vo = GetMissionByID(questID); vo.condition = localInfo.Condition.Replace("V" + valueIndex, newValue.ToString()); vo.curConditionNums[valueIndex] = newValue; if (CheckMissionFinish(vo)) { vo.curStatus = MissionInfo.MisssionStatus.Finish; vo.tips = GetMissionLocalInfoByID(vo.id).QuestName + "<FFA200>(可提交)<->"; UpdateCurrentMissionList(vo); SceneLogic.GetInstance().MainHero.property.CmdAutoAttack = false; if (vo.nPlotID == 0 && vo.type == (int)MissionInfo.MissionType.MainMission) { EventDispatcher.GameWorld.Dispath(ControllerCommand.CONTINUE_MISSION); } if (vo.subType == (int)MissionInfo.MissionSubType.Monster || vo.subType == (int)MissionInfo.MissionSubType.Collect) { PlayEffect("effect_ui_renwu_wanchengmubiao"); } } else { vo.curStatus = MissionInfo.MisssionStatus.BeenAccepted; vo.tips = GetMissionLocalInfoByID(vo.id).QuestName + "<FF0000>(进行中)<->"; UpdateCurrentMissionList(vo); } }
protected override void PreInit() { base.PreInit(); minMapRender = FindUIObject <Renderer>("minmap"); mainHeroPointer = FindUIObject <Transform>("mainHero"); blissButtonEffect = GameObject.Find("effect_ui_NewSmallMapUI_yuanquan"); mainHeroSprite = mainHeroPointer.GetComponentInChildren <UISprite>(); enemyDC = GetDrawCall(enemy); npcDC = GetDrawCall(npc); teammateDC = GetDrawCall(teammate); enemyDC.gameObject.SetActive(false); npcDC.gameObject.SetActive(false); teammateDC.gameObject.SetActive(false); enemy.gameObject.SetActive(false); npc.gameObject.SetActive(false); teammate.gameObject.SetActive(false); loadMap(SceneLogic.GetInstance().mapId); base.delayBad.gameObject.SetActive(false); base.delayNormal.gameObject.SetActive(false); }
public object OnSetMainHero(params object[] objs) { SetSceneLight(); sceneCamera.SetTarget(SceneLogic.GetInstance().MainHero); IsLock = false; return(null); }
public override void DoUpdate() { if (PathUtil.NPC_ID != -1) { if (NpcLogic.GetInstance().CheckNpcNearby(PathUtil.NPC_ID)) { if (PathUtil.bAutoAttack) { SceneLogic.GetInstance().MainHero.property.CmdAutoAttack = true; } else { EventDispatcher.GameWorld.Dispath(ControllerCommand.OPEN_NPC_PANEL_BYID, PathUtil.NPC_ID); } PathUtil.bAutoAttack = false; PathUtil.NPC_ID = -1; } } ViewManager.GetInstance().AutoCloseNpcPanel(); CollectObjComponent[] collectObjs = SceneLogic.GetInstance().GetAllCollectObj(); foreach (CollectObjComponent coc in collectObjs) { if (CollectObjLogic.GetInstance().CheckNeedCollectID(coc.Owner.collectInfo.nID) && coc.CheckNearBy(coc.Owner.collectInfo.nCanCollectDistance)) { EventDispatcher.GameWorld.Dispath(ControllerCommand.OPEN_COLLECT_PANEL, coc.Owner.collectInfo.nID, coc.Owner.property.Id); break; } } }
private object UpdateAttribute(params object[] objs) { MajorPlayer player = PlayerManager.GetInstance().MajorPlayer; PlayerHeroData hero = player.HeroData as PlayerHeroData; if (hero == null) { return(null); } nicknameTxt.text = player.PlayerName; careerTxt.text = GetJobName(player.uJob); spouseTxt.text = player.spouseName;; levelTxt.text = player.level.ToString(); factionTxt.text = player.factionName; hp1Txt.text = SceneLogic.GetInstance().MainHero.Hp + "/" + hero[KAttributeType.atMaxHP]; mp1Txt.text = SceneLogic.GetInstance().MainHero.Mp + "/" + hero[KAttributeType.atMaxMP]; attack1Txt.text = hero[KAttributeType.atAttack].ToString(); defend1Txt.text = hero[KAttributeType.atDefence].ToString(); crite1Txt.text = hero[KAttributeType.atCritHurt].ToString(); attackSpeed1Txt.text = hero[KAttributeType.atAttackSpeed].ToString(); hpSp.fillAmount = SceneLogic.GetInstance().MainHero.Hp / Math.Max(hero[KAttributeType.atMaxHP], 1); mpSp.fillAmount = SceneLogic.GetInstance().MainHero.Mp / Math.Max(hero[KAttributeType.atMaxMP], 1); if (detailView != null) { detailView.UpdateAttribute(); } return(null); }
public override void DoUpdate() { if (ticker.IsEnable()) { List <int> [] skillList = new List <int> [5]; skillList[1] = new List <int>(); skillList[1].Add(5); skillList[1].Add(6); skillList[1].Add(14); skillList[1].Add(13); skillList[2] = new List <int>(); skillList[2].Add(17); skillList[2].Add(20); skillList[2].Add(16); skillList[2].Add(18); skillList[3] = new List <int>(); skillList[3].Add(22); skillList[3].Add(25); skillList[3].Add(21); skillList[3].Add(23); skillList[4] = new List <int>(); if (null != SceneLogic.GetInstance().MainHero) { Vector3 pos = SceneLogic.GetInstance().MainHero.Position; skillIndex++; skillIndex %= 4; int skillId = skillList[Owner.property.Id][skillIndex]; Owner.Action.PlayFightAnimation(SceneLogic.GetInstance().MainHero, (uint)skillId, SceneLogic.GetInstance().MainHero.Position); } } }
private void SyncPlayerBaseInfo(KProtoBuf buf) { S2C_SYNC_PLAYER_BASE_INFO respond = buf as S2C_SYNC_PLAYER_BASE_INFO; MajorPlayer majorPlayer = PlayerManager.GetInstance().MajorPlayer; majorPlayer.PlayerID = respond.uPlayerID; majorPlayer.LastSaveTime = respond.nLastSaveTime; majorPlayer.LastLoginTime = respond.nLastLoginTime; majorPlayer.TotalGameTime = respond.nTotalGameTime; majorPlayer.CreateTime = respond.nCreateTime; majorPlayer.Gender = (KGender)respond.byGender; majorPlayer.CanRename = respond.byCanRename; majorPlayer.AccountName = respond.szAccountName; majorPlayer.PlayerName = respond.szPlayerName; majorPlayer.ServerTime = respond.nServerTime; majorPlayer.ClubID = respond.uClubID; majorPlayer.Job = (ushort)respond.byHeroJob; majorPlayer.GroupID = respond.nGroupID; SkillLogic.GetInstance().DefaultSkill(); SceneLogic.GetInstance().InitScene(); KGender gender = EnumUtils.GetEnumIns <KGender>(respond.byGender); majorPlayer.gender = gender; EventDispatcher.GameWorld.Dispath(ControllerCommand.CHANGE_HEAD, respond.byGender); PreLoad.GetInstance().OnLoadMajorPlayer(); }
public override void Update() { if (null != SceneLogic.GetInstance().MainHero&& Input.GetKeyDown(KeyCode.Space)) { SkillLogic.GetInstance().OnSkill((ushort)SceneLogic.GetInstance().MainHero.heroSetting.RushSkill); } }
private void ChangeShowPlayer() { if (null != entity) { entity.gameObject.SetActive(false); } if (modelDict.TryGetValue(curJob, out entity)) { entity.gameObject.SetActive(true); } else { KHeroSetting heroSetting = KConfigFileManager.GetInstance().heroSetting.getData("" + curJob); entity = SceneLogic.GetInstance().CreateSceneObject((uint)curJob, KSceneObjectType.sotHero, heroSetting.HeroType, KDoodadType.dddInvalid, new Vector3(0, -0.7f, -1), 1); entity.heroSetting = heroSetting; entity.Init(); entity.AnimCmp.pause = true; entity.transform.rotation = new Quaternion(0, 180, 0, 0); entity.transform.localScale = new Vector3(0.78f, 0.78f, 0.78f); SceneLogic.GetInstance().RemoveSceneObjInfor(1); //SetLayer(entity.gameObject,LayerMask.NameToLayer("2D")); modelDict[curJob] = entity; } resetPose = false; entity.AnimCmp.CrossFadeAnimation(poseAction); }
bool SelectAim() { List <SceneEntity> entitys = SceneLogic.GetInstance().GetAllSceneObject(KHeroObjectType.hotMonster); float distance = MaxEnemyDistance; SceneEntity aim = Owner.property.target; if (aim != null && (aim.property.isDeaded || aim.property.activeAction.isDead || aim.property.heroObjType == KHeroObjectType.hotMonster)) { aim = null; } if (null == aim) { Vector3 selfPosition = Owner.Position; foreach (SceneEntity entity in entitys) { if (entity.property.isDeaded || (null != entity.property.activeAction && entity.property.activeAction.isDead)) { continue; } float dis = Vector3.Distance(entity.transform.position, selfPosition); if (dis < distance) { aim = entity; distance = dis; } } if (null != aim) { Owner.property.target = aim; EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.CHANGE_TARGET); } } return(null != aim); }
//设置点击目标 private void SetClickSceneObject(SceneEntity so) { if (so != null && clickTarget != so) { CancelClickSceneObject(true); if (so is SceneEntity && SceneLogic.GetInstance().MainHero != so) { SceneLogic.GetInstance().MainHero.property.target = so as SceneEntity; EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.CHANGE_TARGET); } clickTarget = so; if (clickTarget is SceneEntity) { SceneEntity _hero = clickTarget as SceneEntity; if (_hero.property.isDeaded) { return; } skillTarget = _hero; if (skillTarget.HeroType == KHeroObjectType.hotPlayer) { EventDispatcher.GameWorld.Dispath(ControllerCommand.SHOW_PLAYER_PANEL, skillTarget); } else if (skillTarget.HeroType == KHeroObjectType.hotMonster) { EventDispatcher.GameWorld.Dispath(ControllerCommand.SHOW_MONSTER_PANEL, skillTarget); } else if (skillTarget.HeroType == KHeroObjectType.hotNpc) { //EventDispatcher.GameWorld.Dispath(ControllerCommand.OPEN_NPC_PANEL, skillTarget.Id); } } } }
private object OnAttackBoss(params object[] objs) { SceneEntity targetSceneEntity = SceneLogic.GetInstance().MainHero.property.target; bool isBoss = targetSceneEntity != null && targetSceneEntity.heroSetting != null && targetSceneEntity.heroSetting.HeroType == KHeroObjectType.hotMonster && targetSceneEntity.heroSetting.MonsterGrade == KMonsterGrade.mgQuestBoss; if (isBoss) { Enemy.SetActive(true); } else { Enemy.SetActive(false); return(null); } float cellBoold = (float)targetSceneEntity.MaxHp / 7; float toRate = ((float)targetSceneEntity.Hp / cellBoold) + 1f; if (curEnemySceneEntity != targetSceneEntity) { enemyBlood.ClearRate(toRate, base.EnemyBloodCountLabel); } curEnemySceneEntity = targetSceneEntity; enemyBlood.Set(toRate, base.EnemyBloodCountLabel); base.EnemyBloodValueLabel.text = targetSceneEntity.Hp.ToString() + "/" + targetSceneEntity.MaxHp.ToString(); base.EnemyNameLabel.text = targetSceneEntity.heroSetting.Name; base.EnemyLevelLabel.text = targetSceneEntity.heroSetting.Level.ToString(); return(null); }
public object OnUpdateMiniMap(params object[] objs) { if (null != SceneLogic.GetInstance().MainHero) { SetPosition(SceneLogic.GetInstance().MainHero.transform); } return(null); }
//移动到场景对象 private void MoveToSceneObject(SceneEntity so) { CancelPosition(); if (Vector3.Distance(SceneLogic.GetInstance().MainHero.PositionFoot(), so.transform.position) > 0.5f) { SceneLogic.GetInstance().ClearAutoMoveAcrossMap(); SceneLogic.GetInstance().MainHero.DispatchEvent(ControllerCommand.MOVE_TO_DES, so.transform.position); } }
private object OnChangeHpMP(params object[] objs) { if (null != HeroHP && null != HeroMP) { SceneEntity hero = SceneLogic.GetInstance().MainHero; HeroHP.SetRate(1f - (float)hero.Hp / (float)hero.MaxHp); HeroMP.SetRate(1f - (float)hero.Mp / (float)hero.MaxMp); } return(null); }
//取消鼠标点击目标 public void CancelClickSceneObject(bool isSkillTarget) { if (isSkillTarget == true) { CancelClickSkillObject(); } clickTarget = null; SceneLogic.GetInstance().MainHero.property.target = null; EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.CHANGE_TARGET); }
private void InitCoreManager() { RegisterLog(); DontDestroyOnLoad(this.gameObject); log.Debug("Start game application..."); GameWorld.GetInstance(); LoggerView.GetInstance(); CameraLayerManager.GetInstance(); AssetLoader.GetInstance(); ViewCameraManager.GetInstance().Init(); LayerManager.GetInstance().Init(); RemoteCallLogic.GetInstance(); NGUIManager.GetInstance(); LoginController.GetInstance(); SceneLogic.GetInstance(); PlayerController.GetInstance(); BagLogic.GetInstance(); NpcLogic.GetInstance(); TimeManager.GetInstance(); ViewManager.GetInstance(); gameObject.AddComponent("CronJob"); LoadResource(); //ActiveRush.InitFx(); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao03_xuanfengzhan_g2")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao01_lipihuashantexiao")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao03_xuanfengzhan")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao03_xuanfengzhan_mingzhong2")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao04_yuanyuewandao_mingzhong")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao04_yuanyuewandao_mingzhong_g")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao04_yuanyuewandao_wuqifeixing")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao04_yuanyuewandao")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_badao02_nuzhanbahuang_gongji")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_daobin_06_nuhou_shifa")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_daobin_05_zhenfei")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_daobin_04_chongfeng")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_skill_daobin_04_chongfeng_mingzhong")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_guaiwusiwang2")); AssetLoader.GetInstance().PreLoad(URLUtil.GetEffectPath("effect_levelup")); AssetLoader.GetInstance().Load(URLUtil.GetEffectPath("effect_guangquan_yellow"), PLAYER_SEL_LoadComplete, AssetType.BUNDLER); AssetLoader.GetInstance().Load(URLUtil.GetEffectPath("effect_guangquan2_red"), NPC_SEL_LoadComplete, AssetType.BUNDLER); PreLoad.GetInstance().OnEnterScene(); SelecterManager.GetInstance(); }
public bool CheckNearBy(int allowDis) { float dis = Vector3.Distance(Owner.Position, SceneLogic.GetInstance().MainHero.Position); if (dis <= allowDis) { return(true); } return(false); }
private void OnSceneBuildComplete() { if (isFirstLogin) { LoginController.GetInstance().CloseLoginView(); EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.INIT_SCENE_UI); isFirstLogin = false; } SceneLogic.GetInstance().SendApplySceneObj(); }
public static void Goto(int mapID, Vector3 desPos) { if ((uint)mapID == SceneLogic.GetInstance().mapId) { SceneLogic.GetInstance().MainHero.DispatchEvent(ControllerCommand.MOVE_TO_DES, desPos, true); } else { SceneLogic.GetInstance().MoveAcrossMap((uint)mapID, desPos); } }
public void buildScene(uint mapId) { SceneLogic.GetInstance().Clear(); setting = KConfigFileManager.GetInstance().mapListSetting.getData(mapId.ToString()); if (null != setting) { SceneLogic.GetInstance().backgroundType = setting.BackgroundType; } BuildHandler(mapId); }
public static void Carry(int mapID, Vector3 desPos) { float dis = KingSoftMath.CheckDistance(SceneLogic.GetInstance().MainHero.Position, desPos / 100); if (dis <= 8 && SceneLogic.GetInstance().mapId == mapID) { Debug.Log("已经在目标点的范围内了,不需要传送"); return; } AnimationComponent.OperaWalking = false; RemoteCallLogic.GetInstance().CallGS("OnChangeMap", mapID, (int)desPos.x, (int)desPos.z, (int)desPos.y); }
public void SetSceneLight() { if (SceneLogic.GetInstance().MainHero == null) { return; } GameObject lightGo = SceneMap.SceneLight; if (lightGo != null) { lightGo.transform.parent = SceneLogic.GetInstance().MainHero.transform; } }
public object OnOpenNpcPanel(params object[] objs) { uint npcSceneId = Convert.ToUInt32(objs[0]); SceneEntity npc = SceneLogic.GetInstance().GetSceneObject(npcSceneId); if (npcView == null) { npcView = new NpcDiaologView(); } npcView.PannelVO = NpcLogic.GetInstance().GetNPCPanelInfo((int)npc.TabID); npcView.Open(); return(null); }
// Update is called once per frame void LateUpdate() { if (null == SceneLogic.GetInstance().MainHero || null == SceneLogic.GetInstance().MainHero.property.target) { ClearSelecter(); return; } KParams kParams = KConfigFileManager.GetInstance().GetParams(); if (!SceneLogic.GetInstance().MainHero.property.AutoAttack) { float distance = KingSoftMath.CheckDistanceXZ(SceneLogic.GetInstance().MainHero.property.target.Position, SceneLogic.GetInstance().MainHero.Position); if (distance > kParams.MaxEnemyDistance) { SceneLogic.GetInstance().MainHero.property.target = null; ClearSelecter(); return; } } if (SceneLogic.GetInstance().MainHero.property.target.HeroType == KHeroObjectType.hotPlayer) { if (null != GlowComponent.globalPlayerSelectGameObject) { float _scale = SceneLogic.GetInstance().MainHero.property.target.heroSetting.Scale; GlowComponent.globalPlayerSelectGameObject.transform.localScale = new Vector3(_scale, _scale, _scale); ParticleSystemScaleManager.instance.Scale(_scale, GlowComponent.globalPlayerSelectGameObject); GlowComponent.globalPlayerSelectGameObject.SetActive(true); GlowComponent.globalPlayerSelectGameObject.transform.position = SceneLogic.GetInstance().MainHero.property.target.transform.position + delta; } if (null != GlowComponent.globalSelectGameObject) { GlowComponent.globalSelectGameObject.SetActive(false); } } else { if (null != GlowComponent.globalPlayerSelectGameObject) { GlowComponent.globalPlayerSelectGameObject.SetActive(false); } if (null != GlowComponent.globalSelectGameObject && null != SceneLogic.GetInstance().MainHero.property.target.heroSetting) { float _scale = SceneLogic.GetInstance().MainHero.property.target.heroSetting.Scale; GlowComponent.globalSelectGameObject.transform.localScale = new Vector3(_scale, _scale, _scale); ParticleSystemScaleManager.instance.Scale(_scale, GlowComponent.globalSelectGameObject); GlowComponent.globalSelectGameObject.SetActive(true); GlowComponent.globalSelectGameObject.transform.position = SceneLogic.GetInstance().MainHero.property.target.transform.position + delta; } } }
private void OnAddExp(KProtoBuf buf) { S2C_ADD_EXP respond = buf as S2C_ADD_EXP; MajorPlayer majorPlayer = PlayerManager.GetInstance().MajorPlayer; majorPlayer.Exp += respond.addExp; majorPlayer.addExp = respond.addExp; if (null != SceneLogic.GetInstance().MainHero) { SceneLogic.GetInstance().MainHero.TipsCmp.CreateTip(new Vector3(0, SceneLogic.GetInstance().MainHero.heroSetting.TipPos0, 0), "+" + respond.addExp, "ExpFont", "effect_ui_shuzitanchu_putong.res"); } EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.ADD_EXP); }
private void UpdateNpcSign(int npcID) { //取NPC太蛋疼。。。. uint npcSceneID = SceneLogic.GetInstance().GetNpcSceneID(npcID); if (npcSceneID != 0) { SceneEntity npc = SceneLogic.GetInstance().GetSceneObject(npcSceneID) as SceneEntity; if (npc != null) { npc.DispatchEvent(ControllerCommand.UPDATE_MISSION_SIGN); } } }
void Update() { //"Effect/effect_skill_daobin_01_pugong_gmale.res"; CheckClickSceneObject(); if ( SceneLogic.GetInstance() != null && CMDView.GetInstance() != null && !CMDView.GetInstance().IsEditing() ) { if (Input.GetKeyDown(KeyCode.U)) { if (SceneLogic.GetInstance().MainHero.GetCurActionName().CompareTo("ActionDie") == 0) { SceneLogic.GetInstance().MainHero.Net.SendReliveRequest(true); } } else if (Input.GetKeyDown(KeyCode.Alpha0)) { SceneLogic.GetInstance().MainHero.property.CmdAutoAttack = true; } } //鼠标点击或者鼠标帧移动时间间隔到.. if (UICamera.hoveredObject == null) { if (CursorManager.GetInstance().IsDragging()) { if (Input.GetMouseButtonUp(0) || Input.GetMouseButtonUp(1)) { CursorManager.GetInstance().ClearDragCursor(); } return; } MouseSceneHandler(); } else { if (DragItem.isDragging) { return; } CursorManager.GetInstance().SetCursor(CursorType.ctNormal); } }
void Update() { if (Input.GetKeyDown(KeyCode.F12)) { ConfigManager.GetInstance().DebugMode = true; SceneEntity[] ses = SceneLogic.GetInstance().GetSceneObjs(); foreach (SceneEntity e in ses) { e.CreateTraceComponent(); } } if (Input.GetKeyDown(KeyCode.F11) | Input.GetKeyDown(KeyCode.Insert)) { ChatController.GetInstance().SendGMMessage("ChangeMap(2,0)"); } if (Input.GetKeyDown(KeyCode.F10)) { ChatController.GetInstance().SendGMMessage("player:AddExp(2000000)"); } if (Input.GetKeyDown(KeyCode.F8)) { { Object [] objs = Object.FindObjectsOfType(typeof(Material)); Debug.LogWarning("Material count = " + objs.Length); } //QualitySettings.SetQualityLevel(names.Length - 1); } if (Input.GetKeyDown(KeyCode.F7)) { ChatController.GetInstance().SendGMMessage("AddNpc(2013)"); } if (Input.GetKeyDown(KeyCode.F4)) { ChatController.GetInstance().SendGMMessage("SetAttack(1000000)"); } if (Input.GetKeyDown(KeyCode.F5)) { testHeroId++; TestComponent.CreateNewHero((uint)testHeroId); testHeroId %= 3; } DelayCallManager.instance.Update(); UIManager.GetInstance().Update(); }