private void InitGameObject(Character character, GameObject go)
        {
            go.transform.position = GameObjectTool.LogicToWorld(character.position);
            go.transform.forward  = GameObjectTool.LogicToWorld(character.direction);
            EntityController ec = go.GetComponent <EntityController>();

            if (ec != null)
            {
                ec.isCurrentPlayer = character.IsCurrentPlayer;
                ec.entity          = character;
                ec.enabled         = true;
            }

            PlayerController pc = go.GetComponent <PlayerController>();

            if (character.IsCurrentPlayer && pc != null)
            {
                User.Instance.CurrentCharacterObject = go;
                pc.ec        = ec;
                pc.character = character;
                GameObject playModule = ResMgr.GetPrefab("playModule", "module/common/PlayModule.prefab");
                playModule = Instantiate(playModule);
                DontDestroyOnLoad(playModule);
                Transform player = go.transform;
                playModule.transform.position = player.position;
                playModule.transform.rotation = player.rotation;
                player.SetParent(playModule.transform);
                player.localPosition = Vector3.zero;
                MainPlayerCamera.Instance.SetCurrentPlayer(player, playModule, playModule.GetComponent <CharacterController>());
            }
        }
Exemple #2
0
    void Start()
    {
        GameObject pwarp = ResMgr.GetPrefab("ui/common/UIWarp.prefab");
        GameObject warp  = GameObject.Instantiate(pwarp);

        warp.transform.SetParent(parent, false);
        GameObject pgrid = ResMgr.GetPrefab("ui/bag/UIBagGrid.prefab");

        GameObject grid = GameObject.Instantiate(pgrid);

        grid.transform.SetParent(warp.transform, false);
    }
        public void CreateCharacter(Character character)
        {
            if (!GameObects.ContainsKey(character.entityId) || GameObects[character.entityId] == null)
            {
                UnityEngine.Object obj = ResMgr.GetPrefab(character.Define.Name, character.Define.Resource);

                if (obj == null)
                {
                    Debug.LogErrorFormat("Character[{0}] Resource[{1}] not existed.", character.Define.TID, character.Define.Resource);
                    return;
                }
                GameObject go = (GameObject)Instantiate(obj, this.transform);
                go.name = "Character_" + character.Info.Id + "_" + character.Info.Name;
                GameObects[character.entityId] = go;
                //UIWorldElementsManager.Instance.AddCharacter(go.transform, character);

                InitGameObject(character, go);
            }
        }