예제 #1
0
        public void ProcessNpcCommInSync(object incomingData)
        {
            string      scenetype  = EB.Dot.String("scenetype", incomingData, "");
            IDictionary npcs       = EB.Dot.Object(scenetype + ".npc_list", incomingData, null);
            SceneLogic  scenelogic = MainLandLogic.GetInstance();

            if (scenelogic == null)
            {
                return;
            }
            if (npcs == null)
            {
                return;
            }
            foreach (DictionaryEntry entry in npcs)
            {
                if (entry.Value == null)//Player leave
                {
                    continue;
                }
                string locator = entry.Key.ToString();
                if (m_ManagedNpcs.ContainsKey(locator))
                {
                    continue;
                }
                IDictionary datatmp = entry.Value as IDictionary;
                NpcCommIn(locator, datatmp, scenelogic.CurrentSceneName, scenetype);
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
 public void BeginShowNpc()
 {
     m_IsCanShow      = true;
     m_CurrentSceneID = GetSceneId();
     ClearNotCurrentSceneNpc();
     m_CurrentSceneLogic = MainLandLogic.GetInstance();
 }
예제 #4
0
        public void NpcLeave(string locator, SceneLogic currentlogic)
        {
            m_ManagedNpcs.Remove(locator);
            if (currentlogic != null)
            {
                currentlogic.DeleteNpc(locator);
            }
            m_GroupCellManager.ObjectLeave(locator);

            //如果是世界boss,删除之后需要立马生成下一个
            if (locator.Equals("EnemySpawns_11"))
            {
                long   id        = 0;
                string scenetype = SceneLogicManager.getSceneType();
                DataLookupsCache.Instance.SearchDataByID(scenetype + ".id", out id);

                string curLayout = "Layout50102";
                DataLookupsCache.Instance.SearchDataByID("mainlands.lastWeekBossLayoutId", out curLayout);

                Hashtable data = Johny.HashtablePool.Claim();
                data["role"]         = "w_boss";
                data["sid"]          = id;
                data["bossLayoutId"] = curLayout;

                NpcCommIn("EnemySpawns_11", data, MainLandLogic.GetInstance().CurrentSceneName, "mainlands");
            }
        }
예제 #5
0
 public object OnSetMainHero(params object[] objs)
 {
     SetSceneLight();
     sceneCamera.SetTarget(SceneLogic.GetInstance().MainHero);
     IsLock = false;
     return(null);
 }
예제 #6
0
        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);
        }
예제 #7
0
 public override void Update()
 {
     if (null != SceneLogic.GetInstance().MainHero&& Input.GetKeyDown(KeyCode.Space))
     {
         SkillLogic.GetInstance().OnSkill((ushort)SceneLogic.GetInstance().MainHero.heroSetting.RushSkill);
     }
 }
예제 #8
0
        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();
        }
예제 #9
0
 //设置点击目标
 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);
             }
         }
     }
 }
예제 #10
0
 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);
 }
예제 #11
0
        public IEnumerator SwitchScene(Type sceneType)
        {
            if (!sceneType.IsSubclassOf(typeof(SceneLogic)))
            {
                yield break;
            }
            if (m_curScene != null)
            {
                yield return(m_curScene.BeforeExit());

                yield return(m_curScene.OnExit());
            }
            var scene = (SceneLogic)Activator.CreateInstance(sceneType);

            m_curState = SceneMgrState.Loading;

            yield return(scene.LoadScene());

            yield return(scene.BeforeEnter());

            yield return(scene.OnEnter());

            m_curScene = scene;
            m_curState = SceneMgrState.Normal;
        }
예제 #12
0
        public SceneMgr()
        {
            m_curState = SceneMgrState.Normal;
            var curSceneName = SceneManager.GetActiveScene().name;

            m_curScene = SceneLogic.InstantiateSceneLogicByName(curSceneName);
        }
예제 #13
0
        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);
        }
예제 #14
0
        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);
        }
예제 #15
0
 /// <summary>
 /// 解决 多人场景进战斗 后出来  前后两次的sceneid一样导致旧的managedplayers没有清理干净
 /// </summary>
 public void StopShowPlayerForGoToCombat()
 {
     m_IsCanShow = false;
     Clear();
     NpcManager.Instance.StopShowNpcForGoToCombat();
     m_CurrentSceneLogic = null;
 }
예제 #16
0
        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);
            }
        }
예제 #17
0
    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);
            }
        }
    }
예제 #18
0
        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;
                }
            }
        }
예제 #19
0
        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);
        }
예제 #20
0
 public object OnUpdateMiniMap(params object[] objs)
 {
     if (null != SceneLogic.GetInstance().MainHero)
     {
         SetPosition(SceneLogic.GetInstance().MainHero.transform);
     }
     return(null);
 }
예제 #21
0
 public void BeginShowPlayer()
 {
     m_IsCanShow      = true;
     m_CurrentSceneID = GetSceneId();
     ClearNotCurrentScenePlayer();
     NpcManager.Instance.BeginShowNpc();
     m_CurrentSceneLogic = MainLandLogic.GetInstance();
 }
예제 #22
0
    public void Initialize()
    {
        if (displacementType != DisplacementType.final)
        {
            //Busca la lógica de la escena
            SceneLogic logic = FindObjectOfType <SceneLogic>();

            //Si según la lógica, aún quedan piezas por poner, ejecuta la lógica para ponerlas
            if (logic.roadLongitudeRemaining > 0)
            {
                //Le reduce una pieza al indicador del logic
                logic.roadLongitudeRemaining -= roadLength;

                ///
                ///A continuación se inicia un proceso mediante el cual se instancia una pieza aleatoria, calculandola a través de un valor complejo
                ///

                //Mediante este indice se generará una instancia posteriormente, cambiando este valor
                int indiceInstancia = 0;

                //Antes de crear un valor aleatorio para elegir la pieza, hay que establecer quan alto puede ser ese valor
                int maxRandomValue = 0;
                for (int i = 0; i < instanceChanceMultipler.Length; i++)
                {
                    maxRandomValue += instanceChanceMultipler[i];
                }

                //Se crea un valor aleatorio entre 0 y el porcentaje máximo designado a cada pieza
                int randomValue = Random.Range(0, maxRandomValue);

                //Este valor simplemente almacena el recorrido del array por los porcentajes
                int lastValueChecked = 0;

                //Comparamos si el valor aleatorio coincide con el porcentaje asignado a alguna pieza
                for (int i = 0; i < instanceChanceMultipler.Length; i++)
                {
                    if ((randomValue < instanceChanceMultipler[i] + lastValueChecked) && (randomValue >= lastValueChecked))
                    {
                        indiceInstancia = i;
                    }

                    lastValueChecked += instanceChanceMultipler[i];
                }

                //Se procede a instanciar la pieza
                GameObject instance = Instantiate(roadInstanceType[indiceInstancia], instancePoint.position, instancePoint.rotation);
                nextPiece = instance;
                instance.GetComponent <CarreteraSpawnBehaviour>().Initialize();
            }

            //Por el contrario, si no quedan piezas por poner en la carretera, esta se cierra
            else
            {
                GameObject instance = Instantiate(roadFinish, instancePoint.position, instancePoint.rotation);
                nextPiece = instance;
            }
        }
    }
예제 #23
0
 //移动到场景对象
 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);
     }
 }
예제 #24
0
        public override void ProcessNode()
        {
            UIStack.Instance.ExitStack(true);
            //传送到目标地址
            Vector3 from_pos = new Vector3(25.0f, 0.0f, 45.0f);
            Vector3 to_pos   = new Vector3(0.0f, 0.0f, 0.0f);//0,0,0 目标场景会自动设置为初始位置

            SceneLogic.Transfer(scene, from_pos, 90.0f, transfer_scene, to_pos, 90.0f);
        }
예제 #25
0
        public void MergeNpc(string scenetype, IDictionary scenedata)
        {
            if (scenedata == null)
            {
                EB.Debug.LogWarning("MergeNpc SceneData is null");
                return;
            }
            IDictionary npcdata = EB.Dot.Object("npc_list", scenedata, null);

            if (npcdata == null)
            {
                EB.Debug.LogWarning("MergeNpc npc_list is null");
                return;
            }
            if (m_ManagedNpcs == null)
            {
                return;
            }
            //m_ManagedNpcs have scenedata didnt   must be clear
            SceneLogic scenelogic = MainLandLogic.GetInstance();

            if (scenelogic == null)
            {
                return;
            }
            List <string> npc_to_remove = new List <string>();

            foreach (KeyValuePair <string, NpcDelegate> kv in m_ManagedNpcs)
            {
                if (!npcdata.Contains(kv.Key))
                {
                    npc_to_remove.Add(kv.Key.ToString());
                }
            }
            for (int i = 0; i < npc_to_remove.Count; i++)
            {
                NpcLeave(npc_to_remove[i], scenelogic);
            }
            //scenedata have m_ManagedNpcs didnt   must be clear
            long sceneid = EB.Dot.Long("id", scenedata, 0);

            foreach (DictionaryEntry de in npcdata)
            {
                string locator = de.Key.ToString();
                if (!m_ManagedNpcs.ContainsKey(locator))
                {
                    if (!(de.Value is IDictionary))
                    {
                        continue;
                    }
                    IDictionary datatmp = de.Value as IDictionary;
                    datatmp.Add("sid", sceneid);
                    NpcCommIn(locator, datatmp, scenelogic.CurrentSceneName, scenetype);
                }
            }
        }
예제 #26
0
 //取消鼠标点击目标
 public void CancelClickSceneObject(bool isSkillTarget)
 {
     if (isSkillTarget == true)
     {
         CancelClickSkillObject();
     }
     clickTarget = null;
     SceneLogic.GetInstance().MainHero.property.target = null;
     EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.CHANGE_TARGET);
 }
예제 #27
0
 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);
 }
예제 #28
0
    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();
    }
예제 #29
0
        public bool CheckNearBy(int allowDis)
        {
            float dis = Vector3.Distance(Owner.Position, SceneLogic.GetInstance().MainHero.Position);

            if (dis <= allowDis)
            {
                return(true);
            }

            return(false);
        }
예제 #30
0
 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);
     }
 }