Пример #1
0
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        UIController = FindObjectOfType <MapUiController>();
        UIController.GetComponent <CanvasGroup>().alpha = 1;

        var mapInfo = Core.NetworkClient.State.MapLoginInfo;

        if (mapInfo == null)
        {
            throw new Exception("Map Login info cannot be null");
        }

        Core.NetworkClient.HookPacket(ZC.NOTIFY_STANDENTRY11.HEADER, OnEntitySpawn);
        Core.NetworkClient.HookPacket(ZC.NOTIFY_NEWENTRY11.HEADER, OnEntitySpawn);
        Core.NetworkClient.HookPacket(ZC.NOTIFY_MOVEENTRY11.HEADER, OnEntitySpawn);
        Core.NetworkClient.HookPacket(ZC.NOTIFY_VANISH.HEADER, OnEntityVanish);
        Core.NetworkClient.HookPacket(ZC.NOTIFY_MOVE.HEADER, OnEntityMovement); //Others movement
        Core.NetworkClient.HookPacket(ZC.NPCACK_MAPMOVE.HEADER, OnEntityMoved);
        Core.NetworkClient.HookPacket(ZC.HP_INFO.HEADER, OnEntityHpChanged);
        Core.NetworkClient.HookPacket(ZC.STOPMOVE.HEADER, OnEntityMovement);
        Core.NetworkClient.HookPacket(ZC.NOTIFY_EFFECT2.HEADER, OnEffect);
        Core.NetworkClient.HookPacket(ZC.RESURRECTION.HEADER, OnEntityResurrected);
        Core.NetworkClient.HookPacket(ZC.SPRITE_CHANGE2.HEADER, OnSpriteChanged);
        Core.NetworkClient.HookPacket(ZC.ACTION_FAILURE.HEADER, OnActionFailure);

        Core.Instance.InitManagers();
        Core.Instance.InitCamera();
        Core.Instance.SetWorldLight(worldLight);
        Core.Instance.BeginMapLoading(mapInfo.mapname);

        //var entity = Core.EntityManager.SpawnPlayer(Core.NetworkClient.State.SelectedCharacter);
        //Core.Session = new Session(entity, Core.NetworkClient.State.LoginInfo.AccountID);
        //Core.Session.SetCurrentMap(mapInfo.mapname);
        var entity = Session.CurrentSession.Entity as Entity;

        entity.transform.position = new Vector3(mapInfo.PosX, Core.PathFinding.GetCellHeight(mapInfo.PosX, mapInfo.PosY), mapInfo.PosY);

        /**
         * Hack
         */
        CharacterCamera charCam = GameObject.FindObjectOfType <CharacterCamera>();

        charCam.SetTarget(entity.EntityViewer.transform);

        entity.SetReady(true);
    }
Пример #2
0
    void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        #region NPCS
        Core.NetworkClient.HookPacket(ZC.SAY_DIALOG.HEADER, NpcBox.OnNpcMessage);
        Core.NetworkClient.HookPacket(ZC.CLOSE_DIALOG.HEADER, NpcBox.AddCloseButton);
        Core.NetworkClient.HookPacket(ZC.WAIT_DIALOG.HEADER, NpcBox.AddNextButton);
        Core.NetworkClient.HookPacket(ZC.CLOSE_SCRIPT.HEADER, NpcBox.CloseAndReset);
        Core.NetworkClient.HookPacket(ZC.MENU_LIST.HEADER, NpcMenu.SetMenu);
        #endregion

        NpcMenu.OnNpcMenuSelected = OnNpcMenuSelected;
    }