Exemple #1
0
 private static void WaitLoadOverThanSetActiveFalse(PalNPC npc)
 {
     if (PlayersManager.Player != null && npc != null && PlayersManager.Player != npc.gameObject)
     {
         UtilFun.SetActive(npc.model, false);
     }
 }
Exemple #2
0
 public virtual void LoadOver()
 {
     if (this.model != null)
     {
         UtilFun.SetActive(this.model, true);
     }
     PlayerCtrlManager.OnInit();
 }
Exemple #3
0
 public static MapData GetData(int id)
 {
     id = UtilFun.GetPalMapLevel(id);
     MapData[] datasFromFile = MapData.GetDatasFromFile();
     if (id >= 0 && id < datasFromFile.Length)
     {
         return(datasFromFile[id]);
     }
     return(null);
 }
Exemple #4
0
    ///
    /// Member Functions
    ///
    /// Load/Assign Functions
    private void Assign()
    {
        /// Rendering Switch setting
        if (m_UseCache)
        {
            // when caching is applied, Adaptive Resolution is turned off
            m_AdaptiveResolution = false;
            LoadCacheTex();
        }
        /// GameObject Access
        if (targetObj == null)
        {
            targetObj = GameObject.Find("Skateboard");
        }
        mainCam = Camera.allCameras[0];                     // Get Camera from static camera array

        m_tmList          = new List <TextureManager>();
        m_impostorObjList = new List <GameObject>();
        m_currCamDir      = new List <Vector3>();
        m_prevCamDir      = new List <Vector3>();
        List <Vector3> positionVec3 = new List <Vector3>();

        GeneratePosition(m_ObjectNumber, m_PositioningMethod, ref positionVec3);

        for (int i = 0; i < m_ObjectNumber; i++)
        {
            /// TextureManager List assign
            if (m_AdaptiveResolution)
            {
                /// If Adaptive Resolution switch is on, calculate texture resolution due to distance
                float dist  = (positionVec3[i] - mainCam.transform.position).magnitude;
                int   tsize = UtilFun.CalculateOptimalResolution(dist, 3, 0.1f);
                m_tmList.Add(new TextureManager(tsize, ref mainCam, targetObj.layer));
            }
            else
            {
                m_tmList.Add(new TextureManager(TextureCacheInfo.textureSize, ref mainCam, targetObj.layer));
            }

            m_impostorObjList.Add(new GameObject("Multi Impost :" + i.ToString()));
            m_impostorObjList[i] = GameObject.CreatePrimitive(PrimitiveType.Quad);
            m_impostorObjList[i].transform.position = positionVec3[i];
            SetObjPropertyToImpostor(i);
        }
    }
Exemple #5
0
 private bool IsInFrustum(int _index)
 {
     /// Check if _index object is in Frustum
     return(UtilFun.IsRendererInCamera(m_impostorObjList[_index].GetComponent <Renderer>(), mainCam));
 }
Exemple #6
0
    public static void AddPlayer(GameObject newPlayer, bool bSetLevel = true)
    {
        if (newPlayer == null)
        {
            return;
        }
        newPlayer.ExcludeCloneName();
        PalNPC component = newPlayer.GetComponent <PalNPC>();

        if (component == null)
        {
            return;
        }
        if (!PlayersManager.ActivePlayers.Contains(newPlayer))
        {
            newPlayer.transform.parent = null;
            if (newPlayer.GetComponent <SavePrefabTarget>() == null)
            {
                SavePrefabTarget savePrefabTarget = newPlayer.AddComponent <SavePrefabTarget>();
            }

            if (component.model == null)
            {
                PalNPC palNPC = component;
                palNPC.OnLoadModelEnd = (PalNPC.void_fun_TF)Delegate.Combine(palNPC.OnLoadModelEnd, new PalNPC.void_fun_TF(PlayersManager.WaitLoadOverThanSetActiveFalse));
            }
            else
            {
                AnimCtrlScript component3 = component.model.GetComponent <AnimCtrlScript>();
                component3.ActiveAnimCrossFade("ZhanLi", false, 0f, true);
                if (component.Data.CharacterID == 2)
                {
                    if (!component.animator.GetCurrentAnimatorStateInfo(0).IsName("yidongState.ZhanLi"))
                    {
                        //LateSetActive.Init(component.model, false, 0.01f);
                    }
                    else
                    {
                        UtilFun.SetActive(component.model, false);
                    }
                }
                else
                {
                    UtilFun.SetActive(component.model, false);
                }
            }

            if (bSetLevel)
            {
                PlayersManager.SetLevel(newPlayer);
            }

            PlayersManager.ActivePlayers.Add(newPlayer);

            if (component.Data != null)
            {
                FlagManager.SetBoolFlag((ulong)(34048L + (long)component.Data.CharacterID), true);
            }
        }
        else
        {
            Debug.Log("Log : PlayersManager.AddPlayer 已经存在 " + newPlayer.name);
        }
    }