Пример #1
0
 public static void OnResetTemplateManager()
 {
     SkillTemplateManager.ClearUp();
     BuffTemplateManager.ClearUp();
     ImpactTemplateManager.ClearUp();
     EconemyTemplateManager.ClearUp();
     TaskTemplateManager.ClearUp();
     BuyResourceTemplateManager.ClearUp();
     SceneTemplateManager.ClearUp();
     CharacterTemplateManager.ClearUp();
     GuideManager.ClearUp();
     GuideTemplateManager.ClearUp();
     DialogueTemplateManager.ClearUp();
     GuideAudioTemplateManager.ClearUp();
     MessageTemplateManager.ClearUp();
     FuncTemplateManager.ClearUp();
     GuideNodeTemplateManager.ClearUp();
     VIPTemplateManager.ClearUp();
     if (AlliancesManager.Instance.Config != null)
     {
         AlliancesManager.Instance.Config.CleanUp();
     }
     AllianceTemplateManager.ClearUp();
     ShopTemplateManager.ClearUp();
     NewGameConfigTemplateManager.ClearUp();
 }
Пример #2
0
        private bool IsFunctionNPC(string npc_id, string scene_name)
        {
            MainLandEncounterTemplate met = SceneTemplateManager.GetMainLandsNPCData(scene_name, npc_id);

            if (met != null)
            {
                if (met.func_id_1 > 0 || met.func_id_2 > 0 || met.func_id_3 > 0 || met.dialogue_id > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #3
0
        public void SetNpcName(string CurrentSceneName)
        {
            string    npcname  = SceneTemplateManager.GetNPCName(CurrentSceneName, _role, mDMono.gameObject.name);
            Hashtable namedata = Johny.HashtablePool.Claim();

            namedata.Add("Name", npcname.Replace("/n", "\n"));
            namedata.Add("Role", _role);
            namedata.Add("Attr", Attr);

            if (_HeadBar != null)
            {
                _HeadBar.SetBarHudState(eHeadBarHud.PlayerHeadBarHud, namedata, true);
            }

            Johny.HashtablePool.Release(namedata); namedata = null;
        }
Пример #4
0
        public void InitMap(Dictionary <string, MainLandTemplate> MainLandTbl)
        {
            t = new int[MainLandTbl.Count][];
            for (int i = 0; i < t.Length; i++)
            {
                t[i] = new int[MainLandTbl.Count];
            }

            map = new WorldPathNode[MainLandTbl.Count][];
            for (int i = 0; i < map.Length; i++)
            {
                map[i] = new WorldPathNode[MainLandTbl.Count];
            }

            indexmap = new Dictionary <string, WorldSceneStruct>();
            List <MainLandTemplate> mainlands = new List <MainLandTemplate>(MainLandTbl.Values);

            for (int i = 0; i < mainlands.Count; i++)
            {
                WorldSceneStruct wss = new WorldSceneStruct();
                wss.index      = i;
                wss.m_Triggers = SceneTemplateManager.GetSceneTransferPoints(mainlands[i].mainland_name, "mainlands");
                indexmap.Add(mainlands[i].mainland_name, wss);
            }
            for (int i = 0; i < mainlands.Count; i++)
            {
                List <TriggerEntry> triggers = indexmap[mainlands[i].mainland_name].m_Triggers;
                if (triggers == null)
                {
                    EB.Debug.LogWarning("WorldMapPathFinder.InitMap: triggers = null!");
                    continue;
                }
                for (int j = 0; j < triggers.Count; j++)
                {
                    TransferTriggerEntry tte = triggers[j] as TransferTriggerEntry;
                    int index = indexmap[tte.name].index;
                    t[i][index] = 1;
                    WorldPathNode wpn = new WorldPathNode();
                    wpn.scene     = mainlands[i].mainland_name;
                    wpn.locator   = tte.locator;
                    map[i][index] = wpn;
                }
            }
        }
Пример #5
0
        private bool HasUIModel(string npc_id, string scene_name, string uiModelName)
        {
            MainLandEncounterTemplate met = SceneTemplateManager.GetMainLandsNPCData(scene_name, npc_id);

            if (met != null)
            {
                if (met.func_id_1 > 0 && FuncTemplateManager.Instance.GetFunc(met.func_id_1).ui_model == uiModelName)
                {
                    return(true);
                }
                else if (met.func_id_2 > 0 && FuncTemplateManager.Instance.GetFunc(met.func_id_2).ui_model == uiModelName)
                {
                    return(true);
                }
                else if (met.func_id_3 > 0 && FuncTemplateManager.Instance.GetFunc(met.func_id_3).ui_model == uiModelName)
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #6
0
        private void OnTriggerEnter(Collider collision)
        {
            if (!playerController._isLocalPlayer || SceneLogicManager.CurrentSceneLogic == null)
            {
                return;
            }
            GameObject other      = collision.gameObject;
            string     npc_id     = other.name;
            string     scene_name = SceneLogicManager.CurrentSceneLogic.CurrentSceneName;

            if (IsFunctionNPC(npc_id, scene_name))
            {
                if (HasUIModel(npc_id, scene_name, "DeliveryDart") && AlliancesManager.Instance.DartData.State == eAllianceDartCurrentState.Transfering)
                {
                    GlobalMenuManager.Instance.CloseMenu("LTApplyHelpUI");
                    NpcColliderUI.DeliveryDart();
                }
                else
                {
                    var ht = Johny.HashtablePool.Claim();
                    ht.Add("npc", npc_id);
                    ht.Add("scene", scene_name);
                    MainLandEncounterTemplate met = SceneTemplateManager.GetMainLandsNPCData(scene_name, npc_id);
                    if (met.role == "area")
                    {
                        ht.Add("area", true);
                    }
                    if (PlayerController.onCollisionOpen != null)
                    {
                        PlayerController.CurNpcCollision = collision;
                        PlayerController.onCollisionOpen(ht);
                    }
                }

                LTCameraTrigger ct = other.GetComponent <LTCameraTrigger>();
                if (ct != null)
                {
                    Camera mainCam = getMainCamera();
                    if (mainCam != null)
                    {
                        PlayerCameraComponent pcc = mainCam.GetComponent <PlayerCameraComponent>();
                        if (pcc != null)
                        {
                            if (!string.IsNullOrEmpty(ct.triggerGameCameraParamName))
                            {
                                GameCameraParams  gameCameraParams = GlobalCameraData.Instance.FindGameCameraParamsByName(ct.triggerGameCameraParamName);
                                CameraLerp        motion_lerp      = GlobalCameraData.Instance.FindGameCameraLerpByName("dialogue lerp");
                                List <GameObject> listGO           = new List <GameObject>();
                                listGO.Add(mDMono.gameObject);
                                pcc.EnterInteractionCamera(ref listGO, ref gameCameraParams, motion_lerp);
                            }
                        }
                    }
                    else
                    {
                        GameObject cam = GameObject.Find("Main Camera");
                        if (cam != null)
                        {
                            PlayerCameraComponent pcc = cam.GetComponent <PlayerCameraComponent>();
                            if (pcc != null)
                            {
                                EB.Debug.Log("Can Find Main Camera!");
                                if (!string.IsNullOrEmpty(ct.triggerGameCameraParamName))
                                {
                                    GameCameraParams  gameCameraParams = GlobalCameraData.Instance.FindGameCameraParamsByName(ct.triggerGameCameraParamName);
                                    CameraLerp        motion_lerp      = GlobalCameraData.Instance.FindGameCameraLerpByName("dialogue lerp");
                                    List <GameObject> listGO           = new List <GameObject>();
                                    listGO.Add(mDMono.gameObject);
                                    pcc.EnterInteractionCamera(ref listGO, ref gameCameraParams, motion_lerp);
                                }
                            }
                        }
                    }
                }
            }
            else if (other.name.Equals("NPCSpawns_F"))                        //与决斗场模型碰撞,需移动到出生点
            {
                playerController.transform.position = SceneManager.HeroStart; //如果是角斗场雕像,跳转到初始位置
            }
            else
            {
                LTCameraTrigger ct = other.GetComponent <LTCameraTrigger>();
                if (ct != null)
                {
                    Camera mainCam = getMainCamera();//Camera.main;

                    if (mainCam != null)
                    {
                        PlayerCameraComponent pcc = mainCam.GetComponent <PlayerCameraComponent>();
                        if (pcc != null)
                        {
                            if (!string.IsNullOrEmpty(ct.triggerGameCameraParamName))
                            {
                                GameCameraParams  gameCameraParams = GlobalCameraData.Instance.FindGameCameraParamsByName(ct.triggerGameCameraParamName);
                                CameraLerp        motion_lerp      = GlobalCameraData.Instance.FindGameCameraLerpByName("dialogue lerp");
                                List <GameObject> listGO           = new List <GameObject>();
                                listGO.Add(mDMono.gameObject);
                                pcc.EnterInteractionCamera(ref listGO, ref gameCameraParams, motion_lerp);
                            }
                        }
                    }
                }
            }
        }