public void Spawn(int a_onlineId, eCharType a_type, bool a_isOwnPlayer)
    {
        this.m_id          = a_onlineId;
        this.m_isOwnPlayer = a_isOwnPlayer;
        this.m_type        = a_type;
        GameObject prefab = this.GetPrefab(false);

        if (null != prefab)
        {
            if (null != this.m_avatar)
            {
                UnityEngine.Object.Destroy(this.m_avatar);
            }
            this.m_avatar = (GameObject)UnityEngine.Object.Instantiate(prefab, base.transform.position, base.transform.rotation);
            this.m_avatar.transform.parent = base.transform;
            this.m_animControl             = this.m_avatar.GetComponent <BodyHeadAnim>();
            this.m_animControl2            = this.m_avatar.GetComponent <CharAnim2>();
            this.m_sound = this.m_avatar.GetComponent <CharSounds>();
            if (this.m_isOwnPlayer)
            {
                this.m_itemPopupGui = (PopupItemGUI)UnityEngine.Object.FindObjectOfType(typeof(PopupItemGUI));
                this.m_quitGameGui  = (QuitGameGUI)UnityEngine.Object.FindObjectOfType(typeof(QuitGameGUI));
            }
            else
            {
                base.gameObject.layer = this.m_avatar.layer;
            }
            if (null != this.m_animControl)
            {
                this.m_animControl.Init(this.m_isOwnPlayer);
            }
        }
    }
示例#2
0
 void Init()
 {
     for (int i = 0; i < 3; i++)
     {
         arrBtnLevel[i] = null;
     }
     bossType  = eBossType.None;
     bossLevel = eBossLevel.None;
     charType  = eCharType.None;
 }
示例#3
0
    void CharButtonInteractable(eCharType type)
    {
        if (charType == type)
        {
            return;
        }

        btnBeginInGame.interactable = true;
        GameObject.Find("ImgSelector").transform.position = arrBtnChar[(int)type].transform.position;
    }
示例#4
0
 public CharData(eCharType a_type)
 {
     name     = string.Empty;
     aid      = 0uL;
     handItem = 0;
     look     = 0;
     skin     = 0;
     body     = 0;
     rank     = 0;
     karma    = 100;
     type     = a_type;
 }
示例#5
0
 public CharData(eCharType a_type)
 {
     this.name     = string.Empty;
     this.aid      = 0UL;
     this.handItem = 0;
     this.look     = 0;
     this.skin     = 0;
     this.body     = 0;
     this.rank     = 0;
     this.karma    = 100;
     this.type     = a_type;
 }
示例#6
0
 public ServerPlayer(string a_name, ulong a_accountId, int a_onlineId, eCharType a_type, NetConnection a_con, SQLThreadManager a_sql, LidServer a_server, BuildingManager a_buildMan, MissionManager a_missionMan)
 {
     m_name       = a_name;
     m_accountId  = a_accountId;
     m_onlineId   = a_onlineId;
     m_charType   = a_type;
     m_connection = a_con;
     if (m_connection != null)
     {
         m_connection.Tag = m_onlineId;
     }
     m_sql        = a_sql;
     m_server     = a_server;
     m_buildMan   = a_buildMan;
     m_missionMan = a_missionMan;
 }
示例#7
0
    private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        currentScene = scene;
        print(mode);
        switch (scene.name)
        {
        case "TitleScene":
        {
            Debug.Log("TitleSceneLoaded");
            GameObject.Find("BtnGameStart").GetComponent <Button>().onClick.AddListener(OnBtnGameStartClicked);
        }
        break;

        case "SelectBossScene":
        {
            Debug.Log("SelectBossSceneLoaded");

            //GameObject.Find("ImgBossA").GetComponent<Button>().onClick.AddListener()
            bossType = eBossType.None;

            arrBtnBoss[(int)eBossType.BossA] = GameObject.Find("BtnBossA").GetComponent <Button>();
            arrBtnBoss[(int)eBossType.BossB] = GameObject.Find("BtnBossB").GetComponent <Button>();
            arrBtnBoss[(int)eBossType.BossC] = GameObject.Find("BtnBossC").GetComponent <Button>();

            arrBtnBoss[(int)eBossType.BossA].onClick.AddListener(OnBtnBossAClicked);
            arrBtnBoss[(int)eBossType.BossB].onClick.AddListener(OnBtnBossBClicked);
            arrBtnBoss[(int)eBossType.BossC].onClick.AddListener(OnBtnBossCClicked);

            /*
             * arrBtnLevel[(int)eBossLevel.Low] = GameObject.Find("BtnLowLevelBoss").GetComponent<Button>();
             * arrBtnLevel[(int)eBossLevel.Midium] = GameObject.Find("BtnMidiumLevelBoss").GetComponent<Button>();
             * arrBtnLevel[(int)eBossLevel.High] = GameObject.Find("BtnHighLevelBoss").GetComponent<Button>();
             *
             * arrBtnLevel[(int)eBossLevel.Low].onClick.AddListener(OnBtnLowLevelBossClicked);
             * arrBtnLevel[(int)eBossLevel.Midium].onClick.AddListener(OnBtnMidiumLevelBossClicked);
             * arrBtnLevel[(int)eBossLevel.High].onClick.AddListener(OnBtnHighLevelBossClicked);
             */
        }
        break;

        case "SelectCharScene":
        {
            Debug.Log("SelectCharSceneLoaded");

            charType       = eCharType.None;
            btnBeginInGame = GameObject.Find("BtnBeginInGame").GetComponent <Button>();

            btnBeginInGame.onClick.AddListener(OnBtnBeginInGameClicked);
            GameObject.Find("BtnBackToTitle").GetComponent <Button>().onClick.AddListener(OnBtnBackToTitleClicked);

            arrBtnChar[(int)eCharType.CharA] = GameObject.Find("BtnCharA").GetComponent <Button>();
            arrBtnChar[(int)eCharType.CharB] = GameObject.Find("BtnCharB").GetComponent <Button>();
            arrBtnChar[(int)eCharType.CharC] = GameObject.Find("BtnCharC").GetComponent <Button>();

            arrBtnChar[(int)eCharType.CharA].onClick.AddListener(OnBtnCharAClicked);
            arrBtnChar[(int)eCharType.CharB].onClick.AddListener(OnBtnCharBClicked);
            arrBtnChar[(int)eCharType.CharC].onClick.AddListener(OnBtnCharCClicked);
        }
        break;

        default:
            break;
        }
    }
示例#8
0
 void OnBtnCharCClicked()
 {
     CharButtonInteractable(eCharType.CharC);
     charType = eCharType.CharC;
 }
示例#9
0
        internal static void HandleChatCommand(string text, ServerPlayer player, NetIncomingMessage msg)
        {
            var server = (LidServer)UnityEngine.Object.FindObjectOfType(typeof(LidServer));
            var p_pos  = player.GetPosition();

            string[] commands = text.Split(' ');

            switch (commands[0])
            {
            case "/model":
                if (player.m_isAdmin == true)
                {
                    var       mdlTextResponse = "Changed Model to <b><color='#ffa500ff'>" + commands[1].ToString() + "</color></b>.";
                    eCharType eCharType       = eCharType.ePlayer;
                    var       eMutant         = eCharType.eMutant;

                    if (commands[1] == "Car")
                    {
                        eCharType = (eCharType)(1);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "GasMask-Guy")
                    {
                        eCharType = (eCharType)(2);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Zombie")
                    {
                        eCharType = (eCharType)(3);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Chicken")
                    {
                        eCharType = (eCharType)(4);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Raven" || commands[1] == "Crow")
                    {
                        eCharType = (eCharType)(5);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Deer")
                    {
                        eCharType = (eCharType)(6);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Bull")
                    {
                        eCharType = (eCharType)(7);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Pig")
                    {
                        eCharType = (eCharType)(8);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Wolf")
                    {
                        eCharType = (eCharType)(9);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Survivor")
                    {
                        eCharType = (eCharType)(10);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Survivor-F")
                    {
                        eCharType = (eCharType)(11);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Player-F")
                    {
                        eCharType = (eCharType)(12);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Fox")
                    {
                        eCharType = (eCharType)(13);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Sheep")
                    {
                        eCharType = (eCharType)(14);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Eagle")
                    {
                        eCharType = (eCharType)(15);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Cow")
                    {
                        eCharType = (eCharType)(16);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "SurvivorMutant")
                    {
                        eCharType = (eCharType)(17);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Spider")
                    {
                        eCharType = (eCharType)(18);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Poison-Spider")
                    {
                        eCharType = (eCharType)(19);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }

                    if ((player.m_isAdmin || eCharType == eCharType.ePlayer || eCharType == eCharType.ePlayerFemale) && player.m_charType != eCharType)
                    {
                        player.m_charType       = eCharType;
                        player.m_updateInfoFlag = true;
                    }
                }
                break;

            case "/model-p":
                var p2_name = server.GetPlayerByName(commands[2]);
                if (player.m_isAdmin == true)
                {
                    var       mdlTextResponse = "Changed Model to <b><color='#ffa500ff'>" + commands[1].ToString() + "</color></b>.";
                    eCharType eCharType       = eCharType.ePlayer;
                    var       eMutant         = eCharType.eMutant;

                    if (commands[1] == "Car")
                    {
                        eCharType = (eCharType)(1);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "GasMask-Guy")
                    {
                        eCharType = (eCharType)(2);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Zombie")
                    {
                        eCharType = (eCharType)(3);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Chicken")
                    {
                        eCharType = (eCharType)(4);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Raven" || commands[1] == "Crow")
                    {
                        eCharType = (eCharType)(5);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Deer")
                    {
                        eCharType = (eCharType)(6);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Bull")
                    {
                        eCharType = (eCharType)(7);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Pig")
                    {
                        eCharType = (eCharType)(8);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Wolf")
                    {
                        eCharType = (eCharType)(9);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Survivor")
                    {
                        eCharType = (eCharType)(10);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Survivor-F")
                    {
                        eCharType = (eCharType)(11);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Player-F")
                    {
                        eCharType = (eCharType)(12);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Fox")
                    {
                        eCharType = (eCharType)(13);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Sheep")
                    {
                        eCharType = (eCharType)(14);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Eagle")
                    {
                        eCharType = (eCharType)(15);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Cow")
                    {
                        eCharType = (eCharType)(16);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "SurvivorMutant")
                    {
                        eCharType = (eCharType)(17);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Spider")
                    {
                        eCharType = (eCharType)(18);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }
                    else if (commands[1] == "Poison-Spider")
                    {
                        eCharType = (eCharType)(19);
                        server.SendMessageToPlayerLocal(mdlTextResponse, player, msg);
                    }

                    if ((eCharType == eCharType.ePlayer || eCharType == eCharType.ePlayerFemale) && p2_name.m_charType != eCharType)
                    {
                        p2_name.m_charType       = eCharType;
                        p2_name.m_updateInfoFlag = true;
                    }
                }
                break;

            case "/help-buff":
                server.SendMessageToPlayerLocal("Usage for /buff:/n/buff status 'Freezing, Bleeding, Clear' Note: /buff can only applied to YOUR char rn ", player, msg);
                break;

            default:
                break;
            }
            switch (commands[1])
            {
            case "prefill":
                server.SendMessageToPlayerLocal("prefill2", player, msg);
                break;

            default:
                break;
            }
        }
示例#10
0
    private void UpdateOrSpawnCharacter(int a_onlineId, Vector3 a_pos, float a_rot, eCharType a_type, CharAnim2.ePose a_anim, float a_health, float a_energy = 100f)
    {
        RemoteCharacter[] array = null;
        switch (a_type)
        {
        case eCharType.ePlayer:
        case eCharType.ePlayerFemale:
            array = m_players;
            break;

        case eCharType.eCar:
            array = m_cars;
            break;

        default:
            array = m_npcs;
            break;
        }
        if (a_onlineId <= -1 || a_onlineId >= array.Length)
        {
            return;
        }
        bool flag = array != null && null == array[a_onlineId];

        if (flag && !(0f < a_health))
        {
            return;
        }
        CharData[] array2 = null;
        switch (a_type)
        {
        case eCharType.ePlayer:
        case eCharType.ePlayerFemale:
            array2 = m_playerData;
            break;

        default:
            array2 = m_npcData;
            break;

        case eCharType.eCar:
            break;
        }
        if (flag)
        {
            GameObject gameObject = (GameObject)Object.Instantiate(m_remoteCharPrefab);
            array[a_onlineId] = gameObject.GetComponent <RemoteCharacter>();
            array[a_onlineId].Spawn(a_onlineId, a_type, (a_type == eCharType.ePlayer || a_type == eCharType.ePlayerFemale) && m_myOnlineId == a_onlineId);
            if (array2 != null)
            {
                array[a_onlineId].SetInfo(array2[a_onlineId]);
            }
            switch (a_type)
            {
            case eCharType.ePlayer:
            case eCharType.ePlayerFemale:
                gameObject.name = "player_" + array2[a_onlineId].name + "_" + a_onlineId;
                if (m_myOnlineId == a_onlineId)
                {
                    BirdCam birdCam = (BirdCam)Object.FindObjectOfType(typeof(BirdCam));
                    birdCam.m_target = gameObject.transform;
                    AudioListener audioListener = (AudioListener)Object.FindObjectOfType(typeof(AudioListener));
                    if (null != audioListener)
                    {
                        Object.Destroy(audioListener);
                    }
                    gameObject.AddComponent <AudioListener>();
                }
                break;

            default:
                gameObject.name = "npc_" + a_onlineId;
                break;

            case eCharType.eCar:
                gameObject.name = "car_" + a_onlineId;
                break;
            }
        }
        array[a_onlineId].Refresh(a_pos, a_rot, a_anim, a_health, a_energy);
    }
 public void SetInfo(CharData a_data)
 {
     if (a_data.type != m_type)
     {
         m_type = a_data.type;
         Spawn(m_id, m_type, m_isOwnPlayer);
         m_handItem = -1;
         m_look     = -1;
         m_skin     = -1;
         m_body     = -1;
     }
     if (null != m_animControl)
     {
         if (m_handItem != a_data.handItem)
         {
             m_animControl.ChangeHandItem(a_data.handItem);
             m_handItem = a_data.handItem;
         }
         if (m_look != a_data.look)
         {
             m_animControl.ChangeHeadItem(a_data.look);
             m_look = a_data.look;
         }
         if (m_skin != a_data.skin)
         {
             m_animControl.ChangeSkin(a_data.skin);
             m_skin = a_data.skin;
         }
         if (m_body != a_data.body)
         {
             m_animControl.ChangeBodyItem(a_data.body);
             m_body = a_data.body;
         }
     }
     if (m_lastRank != a_data.rank)
     {
         if (m_lastRank == -1)
         {
             if (m_isOwnPlayer && Global.isSteamActive)
             {
                 bool flag       = false;
                 bool pbAchieved = true;
                 int  num        = Mathf.Min(10, a_data.rank);
                 for (int i = 1; i <= num; i++)
                 {
                     if (SteamUserStats.GetAchievement("ACH_IMM_RANK_" + i, out pbAchieved) && !pbAchieved)
                     {
                         SteamUserStats.SetAchievement("ACH_IMM_RANK_" + i);
                         flag = true;
                     }
                 }
                 if (flag)
                 {
                     SteamUserStats.StoreStats();
                 }
             }
         }
         else if (a_data.rank > m_lastRank && a_data.rank < 11)
         {
             Object.Instantiate(m_lvlUpEffect, base.transform.position + Vector3.up * 3.5f, Quaternion.identity);
             if (m_isOwnPlayer && Global.isSteamActive)
             {
                 SteamUserStats.SetAchievement("ACH_IMM_RANK_" + Mathf.Clamp(a_data.rank, 1, 10));
                 SteamUserStats.StoreStats();
                 PlayerPrefs.SetInt("prefHints", 0);
             }
             Debug.Log(base.name + " m_lastRank " + m_lastRank + " a_data.rank " + a_data.rank + " level up");
         }
         m_lastRank = a_data.rank;
     }
     SetName(a_data.rank, a_data.karma, a_data.name);
 }
示例#12
0
 private void UpdateOrSpawnCharacter(int a_onlineId, Vector3 a_pos, float a_rot, eCharType a_type, CharAnim2.ePose a_anim, float a_health, float a_energy = 100f)
 {
     RemoteCharacter[] array;
     if (a_type == eCharType.ePlayer || a_type == eCharType.ePlayerFemale)
     {
         array = this.m_players;
     }
     else if (a_type == eCharType.eCar)
     {
         array = this.m_cars;
     }
     else
     {
         array = this.m_npcs;
     }
     if (a_onlineId > -1 && a_onlineId < array.Length)
     {
         bool flag = array != null && null == array[a_onlineId];
         if (!flag || 0f < a_health)
         {
             CharData[] array2 = null;
             if (a_type == eCharType.ePlayer || a_type == eCharType.ePlayerFemale)
             {
                 array2 = this.m_playerData;
             }
             else if (a_type != eCharType.eCar)
             {
                 array2 = this.m_npcData;
             }
             if (flag)
             {
                 GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(this.m_remoteCharPrefab);
                 array[a_onlineId] = gameObject.GetComponent <RemoteCharacter>();
                 array[a_onlineId].Spawn(a_onlineId, a_type, (a_type == eCharType.ePlayer || a_type == eCharType.ePlayerFemale) && this.m_myOnlineId == a_onlineId);
                 if (array2 != null)
                 {
                     array[a_onlineId].SetInfo(array2[a_onlineId]);
                 }
                 if (a_type == eCharType.ePlayer || a_type == eCharType.ePlayerFemale)
                 {
                     gameObject.name = string.Concat(new object[]
                     {
                         "player_",
                         array2[a_onlineId].name,
                         "_",
                         a_onlineId
                     });
                     if (this.m_myOnlineId == a_onlineId)
                     {
                         BirdCam birdCam = (BirdCam)UnityEngine.Object.FindObjectOfType(typeof(BirdCam));
                         birdCam.m_target = gameObject.transform;
                         AudioListener audioListener = (AudioListener)UnityEngine.Object.FindObjectOfType(typeof(AudioListener));
                         if (null != audioListener)
                         {
                             UnityEngine.Object.Destroy(audioListener);
                         }
                         gameObject.AddComponent <AudioListener>();
                     }
                 }
                 else if (a_type != eCharType.eCar)
                 {
                     gameObject.name = "npc_" + a_onlineId;
                 }
                 else
                 {
                     gameObject.name = "car_" + a_onlineId;
                 }
             }
             array[a_onlineId].Refresh(a_pos, a_rot, a_anim, a_health, a_energy);
         }
     }
 }