protected override void OnBecameVisible(bool oldState, bool forward) { moduleGlobal.ShowGlobalLayerDefault(-1, false); base.OnBecameVisible(oldState, forward); m_startLoad = false; m_tweenComplete = false; m_tween.onComplete.AddListener(b => { m_timeStamp = Time.realtimeSinceStartup; m_tweenComplete = true; m_timer.gameObject.SetActive(true); }); var matchInfo = Window.GetWindowParam <Window_FactionStart>().param1 as ScMatchInfo; if (matchInfo == null) { return; } ShowModels(matchInfo); var index = moduleFactionBattle.factionMatchInfo.infos.FindIndex(item => item.faction == (byte)Module_FactionBattle.Faction.Red); m_redEntry.BindData(matchInfo.infoList[index], moduleFactionBattle.factionMatchInfo.infos[index]); index = moduleFactionBattle.factionMatchInfo.infos.FindIndex(item => item.faction == (byte)Module_FactionBattle.Faction.Blue); m_blueEntry.BindData(matchInfo.infoList[index], moduleFactionBattle.factionMatchInfo.infos[index]); moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Pvp)); }
// 玩家模块总是最优先捕获游戏货币变化消息 void _Packet_999(ScRoleInfo p) { p.role.CopyTo(ref m_roleInfo); m_proto = m_roleInfo.roleProto; m_gender = m_roleInfo.gender; m_coinCount = m_roleInfo.coin; m_gemCount = m_roleInfo.diamond; m_wishCoinCount = m_roleInfo.wishCoin; m_petSummonStone = m_roleInfo.summonStone; m_heartSoul = m_roleInfo.mind; m_friendPoint = m_roleInfo.friendShipPoint; m_classAvatar = Creature.GetClassAvatarName(proto); m_unionContribution = m_roleInfo.unionContribution; GetSignBanSate(); var oa = m_avatar; m_avatar = m_roleInfo.avatar; if (oa != m_avatar) { DispatchModuleEvent(EventAvatarChanged, oa, m_avatar); DispatchEvent(EventAvatarChanged, Event_.Pop(oa, m_avatar)); // Used for external listeners } moduleStory.OnRecvRoleInfo(); }
/// <summary> /// 当摄像机开始远离时 /// </summary> public void OnCameraStartFarAway() { starRoot?.SafeSetActive(false); RemoveListener(); Module_Awake.instance?.DispatchEvent(Module_Awake.Event_StartFarAwayNode, Event_.Pop(npcId)); animEffect.SafeSetActive(false); }
private void OnGMLockClass(Event_ e) { var nc = proto; var c = (int)e.param1; var i = (int)e.param2; var ci = c > 0 ? ConfigManager.Get <CreatureInfo>(c) : null; m_lockedClass = ci ? ci.ID : m_proto; m_lockedGender = ci ? ci.gender : m_gender; var w = m_lockedClass == m_proto && i < 1 ? null : WeaponInfo.GetWeapon(m_lockedClass, i); if (w == null || w.isEmpty) { m_lockedElementType = m_elementType; } else { var a = ConfigManager.Get <WeaponAttribute>(w.weaponItemId); m_lockedElementType = a == null ? m_elementType : (CreatureElementTypes)a.elementType; } Logger.LogDetail("Lock class <b><color=#66EECC>[weapon:{0}, gender:{1}, weaponItem:{2}, elementType:{3}]</color></b>", proto, gender, w != null && !w.isEmpty ? w.weaponItemId : -1, elementType); DispatchEvent("OnPostGmLockClass", Event_.Pop(nc == proto)); }
protected override void OnEnterState(int oldMask, BattleStates state) { if (state == BattleStates.Ended) { PlayerPrefs.SetInt("FinishTrain", 1); m_loadTime = Time.realtimeSinceStartup - m_loadTime; DispatchEvent(Events.LAUNCH_PROCESS, Event_.Pop(LaunchProcess.ShowLevelEnd, 1)); DispatchEvent(Events.LAUNCH_PROCESS, Event_.Pop(LaunchProcess.ShowLevelTime, m_loadTime)); moduleStory.workOffline = false; DelayEvents.Add(() => { moduleGlobal.FadeIn(1.0f, 1, false, () => { Root.instance.StartCoroutine(WaitLoginLoaded()); }); }, 1.5f); return; } base.OnEnterState(oldMask, state); }
protected override void OnBecameVisible(bool oldState, bool forward) { moduleGlobal.ShowGlobalLayerDefault(1, false); HideOthers(); if (modulePVP.opType == OpenWhichPvP.LolPvP) { moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Rank)); } else { moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Pvp)); } m_roleName.text = modulePlayer.roleInfo.roleName; m_level.text = Util.Format("LV:{0}", modulePlayer.roleInfo.level); state = State.Normal; switch (modulePVP.opType) { case OpenWhichPvP.FreePvP: SetFreePvpState(state, OpenWhichPvP.FreePvP); break; case OpenWhichPvP.LolPvP: moduleMatch.RepareRankData(); break; case OpenWhichPvP.FriendPvP: InvationISsend(); break; default: break; } }
private void SwitchShot(ref ShotState shotState, bool checkCut = true, bool forceCut = false) { var cut = forceCut || shotState.forceCut || checkCut && m_prevShot.blend.blendType == CameraBlendType.Cut; m_prevShot = shotState; if (m_shotInfo) { m_nextShot = m_shotInfo.GetSortedShotState(m_shotIndex); } if (m_nextShot.isEmpty) { m_nextShot = m_prevShot.time < 1.0f ? m_initEndState : m_prevShot; } if (!m_creature.isForward) { m_prevShot.Inverse(); m_nextShot.Inverse(); } euler = m_prevShot.euler; offset = m_prevShot.offset; m_overrideSmooth = m_prevShot.overrideSmooth; m_camera.fieldOfView = m_prevShot.fieldOfView; m_currentShot.Set(offset, euler, m_prevShot.blend.blendType); removeCameraEdge = m_prevShot.removeCameraEdge; if (!removeCameraEdge) { m_forceRecalculateEdge = true; } if (Level.ShowHideSceneObjects(!m_prevShot.hideScene) && !m_prevShot.hideScene && m_drawMask < 1) { m_fading = true; m_fadeStart = 1.0f; m_fadeEnd = 0; m_fadeTime = 0; m_overrideFadeDuration = CombatConfig.smaskFadeDuration; if (m_maskMaterial) { m_maskMaterial.SetColor(m_colorID, Color.black); } } if (cut) { UpdatePosition(false); UpdateRotation(false); } Root.instance.DispatchEvent(Events.CAMERA_SHOT_UI_STATE, Event_.Pop(m_prevShot.hideCombatUI, m_prevShot.maskAsset, m_prevShot.maskDuration)); }
public void EnterState(BattleStates state) { var mask = ((int)state).ToMask(); if (mask == stateMask) { return; } var old = stateMask; if (state > BattleStates.Ended) { m_stateMask |= mask; } else { if (m_ns > 0) { QuitState(m_ns); } m_stateMask |= mask; m_ns = state; } if ((old & mask) == 0) { #if DEVELOPMENT_BUILD || UNITY_EDITOR Logger.LogInfo("[{3}], Level [{0}] enter state [{1}] from mask {2}.", name, state, old, levelTime); #endif m_stateTimers[(int)state] = 0; OnEnterState(old, state); if (state == BattleStates.Prepare) { DispatchEvent(LevelEvents.PREPARE, Event_.Pop(prepareEffect)); } if (state == BattleStates.Fighting) { DispatchEvent(LevelEvents.START_FIGHT); } if (state == BattleStates.Ended) { DispatchEvent(LevelEvents.BATTLE_END); } if (state == BattleStates.Watch) { DispatchEvent(LevelEvents.BATTLE_ENTER_WATCH_STATE, Event_.Pop(true)); var target = GetWatchTarget(player); if (target != null) { Camera_Combat.current.SetFollowTransform(target.transform); } } } }
protected override void OnBecameVisible(bool oldState, bool forward) { moduleGlobal.ShowGlobalLayerDefault(); moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Awake)); Refresh(); }
protected override void OnLoadStart() { base.OnLoadStart(); Module_Story.instance.workOffline = true; m_loadTime = 0; DispatchEvent(Events.LAUNCH_PROCESS, Event_.Pop(LaunchProcess.ShowLevelStart, 1)); }
public static void ReloadConfig(string configName) { var config = UnityEditor.AssetDatabase.LoadAssetAtPath <Config>("Assets/Data/" + configName + ".asset"); if (!config) { return; } m_configs.Set(config.hash, config); var keys = new List <long>(m_items.Keys); foreach (var key in keys) { if (key >> 32 == config.hash) { m_items.Remove(key); } } var items = config.GetItemsBase(); foreach (var item in items) { item.hash = config.hash; item.OnLoad(); var index = (item.hash & 0xFFFFFFFF) << 32 | item.ID & 0xFFFFFFFF; var old = m_items.Get(index); if (old) { Logger.LogError("ConfigManager: Duplicated item index in <b><color={4}>[{0}:{1}]</color>, oldSource:<color={4}>[{2}]</color>, newSource:<color={4}>[{3}]</color></b>, ignored.", config.name, item.ID, GetSource(old.___source), GetSource(item.___source), "#00DDFF"); } else { m_items.Add(index, item); } } if (items.Count > 0) { items[0].InitializeOnce(); } foreach (var item in items) { item.Initialize(); } Logger.LogInfo("Config [{0}] reloaded!", configName); if (Root.instance) { Root.instance.DispatchEvent("EditorReloadConfig", Event_.Pop(configName)); } }
protected double _SetField(CreatureFields index, double value) { var negative = false; var idx = (int)index; var oldVal = m_fields[idx]; switch (index) { case CreatureFields.MaxHealth: maxHealth = (int)value; return(maxHealth - oldVal); case CreatureFields.Health: health = (int)value; return(health - oldVal); case CreatureFields.MaxRage: maxRage = value; return(maxRage - oldVal); case CreatureFields.Rage: rage = value; return(rage - oldVal); case CreatureFields.AttackSpeed: speedAttack = value; return(speedAttack - oldVal); case CreatureFields.MoveSpeed: speedRun = value; return(speedRun - oldVal); case CreatureFields.ColliderHeight: colliderHeight = value; return(colliderHeight - oldVal); case CreatureFields.ColliderOffset: colliderOffset = value; return(colliderOffset - oldVal); case CreatureFields.ColliderSize: colliderSize = value; return(colliderSize - oldVal); case CreatureFields.HitColliderOffset: hitColliderOffset = value; return(hitColliderOffset - oldVal); case CreatureFields.HitColliderSize: hitColliderSize = value; return(hitColliderSize - oldVal); case CreatureFields.RegenRageMul: case CreatureFields.RegenHealthMul: case CreatureFields.AttackRageMul: case CreatureFields.AttackedRageMul: case CreatureFields.DamageIncrease: case CreatureFields.DamageReduce: negative = true; break; default: break; } if (negative && value < 0) { value = 0; } if (oldVal == value) { return(0); } m_fields[idx] = value; DispatchEvent(CreatureEvents.FIELD_CHANGED, Event_.Pop(index, oldVal, value)); return(value - oldVal); }
protected override void OnHide(bool forward) { moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Home)); if (awakeHandle) { awakeHandle.Destroy(); } awakeHandle = null; }
private void OnApplicationPause(bool pauseStatus) { if (m_appPaused == pauseStatus) { return; } m_appPaused = pauseStatus; DispatchEvent(Events.APPLICATION_PAUSE_CHANGED, Event_.Pop(m_appPaused)); }
private void OnApplicationFocus(bool focus) { if (m_appFocused == focus) { return; } m_appFocused = focus; DispatchEvent(Events.APPLICATION_FOCUS_CHANGED, Event_.Pop(m_appFocused)); }
private void InitBuffIcon() { ClearBuffIcon(); var buffs = m_creature.GetBuffList(); foreach (var buff in buffs) { OnBuffCreate(Event_.Pop(buff)); } }
public override void EnterState() { //服务器标记该任务真实完成 Module_Task.instance.DispatchEvent(Module_Task.EventTaskFinishMessage, Event_.Pop(m_task.taskID, m_task)); #if GUIDE_LOG Logger.LogInfo("约会任务ID:{0}当前状态:{1}", m_task.taskID, m_taskState); #endif Module_Guide.RemoveCondition(new NpcDatingCondition(m_task.taskID, false)); Module_Guide.AddCondition(new NpcDatingCondition(m_task.taskID, true)); }
private void UpdateMoveState(bool _moving) { if (m_moving == _moving) { return; } m_moving = _moving; Root.instance?.DispatchEvent(Events.COMBAT_CAMERA_MOVE_CHANGE, Event_.Pop(m_moving)); }
private void onToggleOn(Toggle rToggle) { foreach (var kv in _npcDict) { if (kv.Value == rToggle) { moduleNpc.DispatchEvent(Module_Npc.FocusNpcEvent, Event_.Pop(kv.Key)); } } }
public override void EnterState() { //任务接成功了 #if GUIDE_LOG Logger.LogInfo("NPCID:{0}约会任务ID:{1}当前状态:{2}", (int)m_task.taskTargetID, m_task.taskID, m_taskState); #endif Module_Guide.AddCondition(new NpcDatingCondition(m_task.taskID, false)); Module_Guide.CheckTriggerGuide(); Module_Task.instance.DispatchEvent(Module_Task.EventTaskBeginMessgage, Event_.Pop(m_task.taskID, m_task)); m_taskSM.ChangeState("Run"); }
private void CheckCamera_RealTimeMode() { if (!m_valid) { return; } if (!m_camera) { m_camera = m_isMainCamera ? Camera.main : Util.FindActivedCamera(m_cameraName); if (!m_camera) { return; } if (!m_camera.enabled) { m_camera.enabled = true; } m_cameraMask = m_camera.cullingMask; m_camera.cullingMask &= ~m_excludeMask; m_dof = -1; var b = m_camera.GetComponent <UnityEngine.PostProcessing.PostProcessingBehaviour>(); if (b && b.profile) { m_dof = b.profile.depthOfField.enabled ? 1 : 0; b.profile.depthOfField.enabled = false; } m_camera.rect = new Rect(0, 0, 1, 1); s_refs++; if (string.IsNullOrEmpty(sceneName)) { Module_Home.instance.DispatchEvent(Module_Home.EventSetTexture, Event_.Pop(0, bg)); } else { Module_Home.instance.DispatchEvent(Module_Home.EventSetScene, Event_.Pop(sceneName, true)); } for (var i = 0; i < bg?.Length; i++) { bg[i].SafeSetActive(false); } } SetRenderTexture_RealTimeMode(); }
protected override void OnDestroy() { base.OnDestroy(); DispatchEvent(FOLLOW_EFFECT_DESTORY, Event_.Pop(conditionValue)); FightRecordManager.RecordLog <LogEmpty>(log => { log.tag = (byte)TagType.FollowEffectDestory; }); #if AI_LOG Module_AI.LogBattleMsg(source, "FollowTargetEffect[logId: {0}] destoryed with pos {0}", logId, position_); #endif }
public Creature CreateNpc(int npcInfoId, Vector3 pos, Vector3 rot, Transform node, string name = "") { var npcInfo = ConfigManager.Get <NpcInfo>(npcInfoId); if (npcInfo == null) { return(null); } var i = ConfigManager.Get <CreatureInfo>(CREATURE_TEMPLATE).Clone <CreatureInfo>(); i.models = new string[] { npcInfo.mode }; i.weaponID = npcInfo.stateMachine; i.weaponItemID = 0; i.offWeaponItemID = 0; i.gender = 0; var npc = Creature.Create(i, pos, false, name, name); if (!npc) { return(null); } npc.transform.localEulerAngles = rot; var wt = npc.transform.Find("model/weapon"); if (wt) { wt.gameObject.SetActive(false); } if (npcInfo.type == 1) { var _npc = moduleNpc.GetTargetNpc((NpcTypeID)npcInfoId); if (_npc != null) { CharacterEquip.ChangeNpcFashion(npc, _npc.mode); _npc.UpdateCurCreature(npc); } } Util.AddChild(node, npc.transform, true); DispatchEvent(EventLoadNpc, Event_.Pop(npc)); return(npc); }
protected override void OnBecameVisible(bool oldState, bool forward) { //从服务器获取界面数据 moduleNPCDating.SendOpenDatingWindow(); moduleGlobal.ShowGlobalLayerDefault(1, false); Init(); moduleNPCDating.SetCurDatingScene(EnumNPCDatingSceneType.DatingHall); if (m_levelHome.datingScence.GetComponentDefault <DatingMapCtrl>() == null) { m_levelHome.datingScence.gameObject.AddComponent <DatingMapCtrl>(); } moduleHome.DispatchEvent(Module_Home.EventSwitchCameraMode, Event_.Pop(CameraShowType.Dating)); }
private void UpdateCameraConfig_RealTimeMode() { if (!m_setCamera || !m_camera) { return; } m_camera.transform.localPosition = m_cameraPosition; m_camera.transform.localEulerAngles = m_cameraRotation; m_camera.fieldOfView = m_fov; m_camera.targetTexture = null; if (string.IsNullOrWhiteSpace(sceneName)) { Module_Home.instance.DispatchEvent(Module_Home.EventUpdateMesh, Event_.Pop(0, m_camera)); } }
private void RemoveInstance() { if (!m_camera) { return; } RemoveInstance(m_camera, GetInstanceID()); // Logger.LogError(Util.GetHierarchy(gameObject)); if (realTime) { s_refs--; if (string.IsNullOrEmpty(sceneName)) { Module_Home.instance.DispatchEvent(Module_Home.EventSetTexture, Event_.Pop(0)); } else { Module_Home.instance.DispatchEvent(Module_Home.EventSetScene, Event_.Pop(sceneName, false)); } } if (m_cameraMask != 0 && camera.targetTexture == null && s_refs == 0) { m_camera.cullingMask = m_cameraMask; } m_cameraMask = 0; if (m_dof != -1 && camera.targetTexture == null) { var b = m_camera.GetComponent <UnityEngine.PostProcessing.PostProcessingBehaviour>(); var p = b?.profile ?? null; if (p) { p.depthOfField.enabled = m_dof == 1; } } m_dof = -1; m_camera = null; m_image.texture = null; m_image.enabled = false; }
private void HideOthers() { var level = Level.current as Level_Home; if (level == null) { return; } if (!level.master) { level.rankCamera.cullingMask &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY); level.pvpCamera.cullingMask &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY); return; } List <string> excludes = new List <string>(); excludes.Add(Module_Home.FIGHTING_PET_OBJECT_NAME); excludes.Add(Module_Home.PLAYER_OBJECT_NAME); if (enemy != null) { excludes.Add(enemy.uiName); } if (enemyPet != null) { excludes.Add(enemyPet.uiName); } var info = ConfigManager.Get <ShowCreatureInfo>(11); ShowCreatureInfo.SizeAndPos size = null; if (info != null) { for (int i = 0; i < info.forData.Length; i++) { if (info.forData[i].index == modulePlayer.proto) { size = info.forData[i].data[0]; break; } } } moduleHome.DispatchEvent(Module_Home.EventSetMasterPosition, Event_.Pop(size)); moduleHome.HideOthersBut(excludes.ToArray()); }
/// <summary> /// 当摄像机靠近时触发 /// </summary> public void OnCameraCloseTo() { var watcher = TimeWatcher.Watch("OnCameraCloseTo"); watcher.See("lineGray"); RefreshStarState(); watcher.See("RefreshStarState"); starRoot?.SafeSetActive(true); AddListener(); Module_Awake.instance?.DispatchEvent(Module_Awake.Event_CloseToNode, Event_.Pop(npcId)); watcher.See("Event_CloseToNode"); watcher.Stop(); watcher.UnWatch(); animEffect.SafeSetActive(true); }
private void ResponseSkillOpen(ScAwakeSkillOpen msg) { if (msg == null) { return; } if (msg.result != 0) { moduleGlobal.ShowMessage(9801, msg.result); return; } AudioManager.PlaySound(AudioInLogicInfo.audioConst.clickToSucc); awakeHandle.DispatchEvent(AwakeHandle.FocusPointChange, Event_.Pop(msg.lastAwakeSkill)); if (_skillAwake.isInit) { _skillAwake.Refresh(); } }
private void MarkScene(List <Task> tasks = null) { var listSceneIds = new List <int>(); if (tasks != null) { for (int i = 0; i < tasks.Count; i++) { if (tasks[i].taskState == EnumTaskState.Begin || tasks[i].taskState == EnumTaskState.Runing) { var tmpList = new List <int>(tasks[i].taskBelongScene); listSceneIds.AddRange(tmpList); } } listSceneIds.Distinct(); } moduleNPCDating.DispatchEvent(Module_NPCDating.EventNotifyDatingMapObject, Event_.Pop(EnumDatingNotifyType.RefreshRedDot, listSceneIds)); }