示例#1
0
    void OnGUI()
    {
        lifebar();

        MyPlayerController AI = (MyPlayerController)player.transform.GetComponent("MyPlayerController");

        if (boolMenssagemPagar)
        {
            MensagemPagarCaronte();
        }
        else if (falarNPC && !falarNPCBloqueio)
        {
            falarComNPC();
        }

        if (boolMensagemArma)
        {
            MensagemArmas();
        }

        if (boolMensagemObulo)
        {
            MensagemObulos();
        }

        if (boolMenssagemCaronteDerrotado)
        {
            MensagemCaronteDerrotado();
        }
    }
示例#2
0
    // Update is called once per frame
    void OnTriggerEnter(Collider other)
    {
        if(other.gameObject.name.Equals("Player")){

            if(validaAtivaCaronte){

                scriptPlayerController = (MyPlayerController) objPlayer.transform.GetComponent("MyPlayerController");

                if( scriptPlayerController.boolArmado ){

                    objCaronteNPC.SetActive(false);
                    objCaronteBriga.SetActive(true);

                    validaAtivaCaronte = false;

                }
                else if(scriptPlayerController.obulos == 3){

                    HUDGame hud = (HUDGame) objPlayer.transform.GetComponent("HUDGame");

                    hud.SendMessage("mensagemPagarOn");

                    objBarco.SendMessage("ativar");

                    validaAtivaCaronte = false;

                }

            }

        }
    }
示例#3
0
    static int _CreateSystem_Collections_Generic_KeyValuePair_int_MyPlayerController(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2)
            {
                int arg0 = (int)LuaDLL.luaL_checknumber(L, 1);
                MyPlayerController arg1 = (MyPlayerController)ToLua.CheckObject <MyPlayerController>(L, 2);
                System.Collections.Generic.KeyValuePair <int, MyPlayerController> obj = new System.Collections.Generic.KeyValuePair <int, MyPlayerController>(arg0, arg1);
                ToLua.PushValue(L, obj);
                return(1);
            }
            else if (count == 0)
            {
                System.Collections.Generic.KeyValuePair <int, MyPlayerController> obj = new System.Collections.Generic.KeyValuePair <int, MyPlayerController>();
                ToLua.PushValue(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: System.Collections.Generic.KeyValuePair<int,MyPlayerController>.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#4
0
    // Use this for initialization
    void Start()
    {
        currentLayer = LayerMask.NameToLayer("Players");
        invLayer     = LayerMask.NameToLayer("Invulnerable");

        fireCooldown = 1f;
        curammo      = ammo;

        distance       = new Vector3(2, 0, 0);
        shieldDistance = new Vector3(0.5f, 0, 0);
        bulletDistance = new Vector3(1.75f, 0, 0);
        dashDistance   = new Vector3(3, 0, 0);
        thisTransform  = transform;
        startPos       = thisTransform.position;
        //aimer = FindObjectOfType(GameObject);
        aimer   = Instantiate(aimer, thisTransform.position + distance, Quaternion.identity) as GameObject;
        p1score = GameObject.Find("P1 Score").GetComponent <P1ScoreKeeper>();

        mpc     = GameObject.Find("Player 1(Clone)").GetComponent <MyPlayerController>();
        handler = GameObject.Find("EventHandler").GetComponent <EventHandler>();
        P2Ammo  = GameObject.Find("P2 Ammo").GetComponent <P2AmmoKeeper>();

        playerCol = this.GetComponent <Collider2D>();

        sr = this.GetComponent <SpriteRenderer>();
    }
示例#5
0
    // Update is called once per frame
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.name.Equals("Player"))
        {
            if (validaAtivaCaronte)
            {
                scriptPlayerController = (MyPlayerController)objPlayer.transform.GetComponent("MyPlayerController");

                if (scriptPlayerController.boolArmado)
                {
                    objCaronteNPC.SetActive(false);
                    objCaronteBriga.SetActive(true);

                    validaAtivaCaronte = false;
                }
                else if (scriptPlayerController.obulos == 3)
                {
                    HUDGame hud = (HUDGame)objPlayer.transform.GetComponent("HUDGame");

                    hud.SendMessage("mensagemPagarOn");

                    objBarco.SendMessage("ativar");

                    validaAtivaCaronte = false;
                }
            }
        }
    }
示例#6
0
    // Update is called once per frame
    void Update()
    {
        if (_player != null)
        {
            if (_controller == null)
            {
                _controller = _player.GetComponent <MyPlayerController>();
            }
            Vector3 playerPos = _player.position + new Vector3(cameraOffset.x, cameraOffset.y, 0);
            transform.position = new Vector3(Mathf.Clamp(playerPos.x, maxLeftPos(), maxRightPos()), endY == 0 ? playerPos.y : endY, transform.position.z);
            if (transform.position.x == maxRightPos() && endY == 0)
            {
                endY = transform.position.y;
            }
            _simple.transform.position = new Vector3(playerPos.x - cameraOffset.x, playerPos.y - cameraOffset.y, _simple.transform.position.z);

            if (_controller.achievedRotation && lockedAngle == 0)
            {
                lockedAngle = Mathf.Clamp(_controller._rotation + 30, -360, 360);
            }
            else if (!_controller.achievedRotation)
            {
                lockedAngle = 0;
            }
            float angle = lockedAngle != 0? lockedAngle : Mathf.Clamp(_controller._rotation + _controller._visualBoostStart, -360, 360);
            _simple.setText(_controller._rotation == 0 ? "" : _controller.achievedRotation ? "Boost!" : (angle.ToString("F0") + "º"), _controller.achievedRotation ? Color.yellow : Color.white);

            _minimap.setMap(_mainMap, _player);
        }

        _minimap.UpdateMap(_mainMap.mapPoint(_player.transform.position.x > maxRightPos() ? _mainMap._finishLine.position : _player.transform.position));
    }
示例#7
0
 // Use this for initialization
 void Start()
 {
     objCaronteNPC.SetActive(true);
     objCaronteBriga.SetActive(false);
     validaAtivaCaronte = true;
     scriptPlayerController = (MyPlayerController) objPlayer.transform.GetComponent("MyPlayerController");
     scriptAICaronte = (MyAI) objCaronteBriga.transform.GetComponent("MyAI");
     boolValidaMorte = true;
 }
 public void Clear()
 {
     foreach (GameObject obj in _objects.Values)
     {
         Managers.Resource.Destroy(obj);
     }
     _objects.Clear();
     MyPlayer = null;
 }
示例#9
0
    public void Add(ObjectInfo info, bool myPlayer = false)
    {
        GameObjectType objectType = GetObjectTypeById(info.ObjectId);

        if (objectType == GameObjectType.Player)
        {
            if (myPlayer == true)
            {
                GameObject go = Managers.Resource.Instantiate("Creature/MyPlayer");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                MyPlayer         = go.GetComponent <MyPlayerController>();
                MyPlayer.Id      = info.ObjectId;
                MyPlayer.PosInfo = info.PosInfo;
                MyPlayer.Stat    = info.StatInfo;
                MyPlayer.SyncPos();
            }
            else
            {
                GameObject go = Managers.Resource.Instantiate("Creature/Player");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                PlayerController pc = go.GetComponent <PlayerController>();
                pc.Id      = info.ObjectId;
                pc.PosInfo = info.PosInfo;
                pc.Stat    = info.StatInfo;
                pc.SyncPos();
            }
        }
        else if (objectType == GameObjectType.Monster)
        {
            GameObject go = Managers.Resource.Instantiate("Creature/Monster");
            go.name = info.Name;
            _objects.Add(info.ObjectId, go);

            MonsterController mc = go.GetComponent <MonsterController>();
            mc.Id      = info.ObjectId;
            mc.PosInfo = info.PosInfo;
            mc.Stat    = info.StatInfo;
            mc.SyncPos();
        }
        else if (objectType == GameObjectType.Projectile)
        {
            GameObject go = Managers.Resource.Instantiate("Creature/Arrow");
            go.name = "Arrow";
            _objects.Add(info.ObjectId, go);

            ArrowController ac = go.GetComponent <ArrowController>();
            ac.PosInfo = info.PosInfo;
            ac.Stat    = info.StatInfo;
            //ac.Dir = info.PosInfo.Movedir;
            //ac.CellPos = new Vector3Int(info.PosInfo.PosX, info.PosInfo.PosY, 0);
            ac.SyncPos();
        }
    }
示例#10
0
 // Use this for initialization
 void Start()
 {
     objCaronteNPC.SetActive(true);
     objCaronteBriga.SetActive(false);
     validaAtivaCaronte     = true;
     scriptPlayerController = (MyPlayerController)objPlayer.transform.GetComponent("MyPlayerController");
     scriptAICaronte        = (MyAI)objCaronteBriga.transform.GetComponent("MyAI");
     boolValidaMorte        = true;
 }
示例#11
0
    // Use this for initialization
    void Start()
    {
        _controller = GetComponent <MyPlayerController>();
        _renderer   = GetComponentInChildren <SpriteRenderer>();

        foreach (ParticleSystem system in _railEffects)
        {
            system.Stop();
        }

        _boostEffect.Stop();
    }
    void Start()
    {
        m_Transform = gameObject.GetComponent <Transform>();
        first_BTN   = m_Transform.Find("First_BTN").GetComponent <Button>();
        third_BTN   = m_Transform.Find("Third_BTN").GetComponent <Button>();
        god_BTN     = m_Transform.Find("God_BTN").GetComponent <Button>();

        playerController = GameObject.Find("Player/Person").GetComponent <MyPlayerController>();

        first_BTN.onClick.AddListener(() => playerController.SetPlayerControllerMode(PlayerControllerMode.FIRST));
        third_BTN.onClick.AddListener(() => playerController.SetPlayerControllerMode(PlayerControllerMode.THIRD));
        god_BTN.onClick.AddListener(() => playerController.SetPlayerControllerMode(PlayerControllerMode.GOD));
    }
示例#13
0
    private void lifebar()
    {
        Health             HP = (Health)player.transform.GetComponent("Health");
        MyPlayerController AI = (MyPlayerController)player.transform.GetComponent("MyPlayerController");


        int vida_atual_porcento = (int)(HP.CurrentHealth * 100 / HP.MaxHealth);
        int defesa        = (int)(AI.Damage);
        int ataque        = (int)(HP.Defesa);
        int larguraWindow = 100;
        int alturaWindow  = 30;


        GUI.BeginGroup(new Rect(10, 5, larguraWindow, alturaWindow));

        GUI.Box(new Rect(-larguraWindow, -alturaWindow, larguraWindow * 3, alturaWindow * 3), bgMessageImage);

        GUI.BeginGroup(new Rect(0, 0, larguraWindow, alturaWindow));

        GUI.Box(new Rect(0, 0, larguraWindow, alturaWindow), "Life " + vida_atual_porcento + "%");

        GUI.EndGroup();

        GUI.EndGroup();


        GUI.BeginGroup(new Rect(10, 38, larguraWindow, alturaWindow));

        GUI.Box(new Rect(-larguraWindow, -alturaWindow, larguraWindow * 3, alturaWindow * 3), bgMessageImage);

        GUI.BeginGroup(new Rect(0, 0, larguraWindow, alturaWindow));

        GUI.Box(new Rect(0, 0, larguraWindow, alturaWindow), "Ataque " + ataque + "%");

        GUI.EndGroup();

        GUI.EndGroup();


        GUI.BeginGroup(new Rect(10, 72, larguraWindow, alturaWindow));

        GUI.Box(new Rect(-larguraWindow, -alturaWindow, larguraWindow * 3, alturaWindow * 3), bgMessageImage);

        GUI.BeginGroup(new Rect(0, 0, larguraWindow, alturaWindow));

        GUI.Box(new Rect(0, 0, larguraWindow, alturaWindow), "Defesa " + defesa + "%");

        GUI.EndGroup();

        GUI.EndGroup();
    }
 static int GetCurrentPlayer(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         MyPlayerController     obj = (MyPlayerController)ToLua.CheckObject <MyPlayerController>(L, 1);
         UnityEngine.GameObject o   = obj.GetCurrentPlayer();
         ToLua.PushSealed(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#15
0
 static int Add(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         System.Collections.Generic.Dictionary <int, MyPlayerController> obj = (System.Collections.Generic.Dictionary <int, MyPlayerController>)ToLua.CheckObject(L, 1, typeof(System.Collections.Generic.Dictionary <int, MyPlayerController>));
         int arg0 = (int)LuaDLL.luaL_checknumber(L, 2);
         MyPlayerController arg1 = (MyPlayerController)ToLua.CheckObject <MyPlayerController>(L, 3);
         obj.Add(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#16
0
 static int _get_this(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         System.Collections.Generic.Dictionary <int, MyPlayerController> obj = (System.Collections.Generic.Dictionary <int, MyPlayerController>)ToLua.CheckObject(L, 1, typeof(System.Collections.Generic.Dictionary <int, MyPlayerController>));
         int arg0             = (int)LuaDLL.luaL_checknumber(L, 2);
         MyPlayerController o = obj[arg0];
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int AddComponentForPlayer(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         MyPlayerController    obj  = (MyPlayerController)ToLua.CheckObject <MyPlayerController>(L, 1);
         System.Type           arg0 = ToLua.CheckMonoType(L, 2);
         UnityEngine.Component o    = obj.AddComponentForPlayer(arg0);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#18
0
 static int ContainsValue(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         System.Collections.Generic.Dictionary <int, MyPlayerController> obj = (System.Collections.Generic.Dictionary <int, MyPlayerController>)ToLua.CheckObject(L, 1, typeof(System.Collections.Generic.Dictionary <int, MyPlayerController>));
         MyPlayerController arg0 = (MyPlayerController)ToLua.CheckObject <MyPlayerController>(L, 2);
         bool o = obj.ContainsValue(arg0);
         LuaDLL.lua_pushboolean(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    static int set_playerName(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            MyPlayerController obj  = (MyPlayerController)o;
            string             arg0 = ToLua.CheckString(L, 2);
            obj.playerName = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index playerName on a nil value"));
        }
    }
    static int get_currentPlayer(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            MyPlayerController     obj = (MyPlayerController)o;
            UnityEngine.GameObject ret = obj.currentPlayer;
            ToLua.PushSealed(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index currentPlayer on a nil value"));
        }
    }
示例#21
0
    static int get_Value(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            System.Collections.Generic.KeyValuePair <int, MyPlayerController> obj = (System.Collections.Generic.KeyValuePair <int, MyPlayerController>)o;
            MyPlayerController ret = obj.Value;
            ToLua.PushObject(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index Value on a nil value"));
        }
    }
    static int get_playerName(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            MyPlayerController obj = (MyPlayerController)o;
            string             ret = obj.playerName;
            LuaDLL.lua_pushstring(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index playerName on a nil value"));
        }
    }
    static int set_currentPlayer(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            MyPlayerController     obj  = (MyPlayerController)o;
            UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 2, typeof(UnityEngine.GameObject));
            obj.currentPlayer = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index currentPlayer on a nil value"));
        }
    }
示例#24
0
    private void FixGameObjectPosition(Collider2D col, bool triggerEnabled)
    {
        // Der Player darf nicht durch die Seitenwände springen
        if (col.gameObject.tag.Equals(EnemyAWConst.PLAYER))
        {
            MyPlayerController cont = col.gameObject.GetComponent <MyPlayerController>();
            cont.PlayerPolygonCollider.isTrigger = triggerEnabled;
        }

        if (LayerMask.LayerToName(col.gameObject.layer).Equals(EnemyAWConst.ENEMY))
        {
            if (!col.gameObject.tag.Equals(EnemyAWConst.ENEMY_BOUNCING))
            {
                EnemyMoveAutoScript cont = col.gameObject.GetComponent <EnemyMoveAutoScript>();
                cont.EnemyTriggerCollider.isTrigger = triggerEnabled;
            }
        }
    }
示例#25
0
 static int TryGetValue(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         System.Collections.Generic.Dictionary <int, MyPlayerController> obj = (System.Collections.Generic.Dictionary <int, MyPlayerController>)ToLua.CheckObject(L, 1, typeof(System.Collections.Generic.Dictionary <int, MyPlayerController>));
         int arg0 = (int)LuaDLL.luaL_checknumber(L, 2);
         MyPlayerController arg1 = null;
         bool o = obj.TryGetValue(arg0, out arg1);
         LuaDLL.lua_pushboolean(L, o);
         ToLua.PushObject(L, arg1);
         return(2);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    public override void OnLobbyServerSceneLoadedForPlayer(NetworkManager manager, GameObject lobbyPlayer, GameObject gamePlayer)
    {
        LobbyPlayer        lobby    = lobbyPlayer.GetComponent <LobbyPlayer>();
        MyPlayerController myplayer = gamePlayer.GetComponent <MyPlayerController>();

        myplayer.playerName  = lobby.playerName;
        myplayer.playerColor = lobby.playerColor;
        if (myplayer.playerColor == Color.red)
        {
            myplayer.teamNumber = 1;
        }
        else
        {
            myplayer.teamNumber = 2;
        }

        // custom
        myplayer.lifePoint = 2;
    }
    static int _CreateMyPlayerController(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1)
            {
                string             arg0 = ToLua.CheckString(L, 1);
                MyPlayerController obj  = new MyPlayerController(arg0);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: MyPlayerController.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#28
0
    public void Add(ObjectInfo info, bool myPlayer = false)
    {
        //  zone때문에 myPlayer와 player 패킷이 겹치게 들어옴
        if (MyPlayer != null && MyPlayer.Id == info.ObjectId)
        {
            return;
        }
        // 중복으로 생성하는걸 방지
        if (_objects.ContainsKey(info.ObjectId))
        {
            return;
        }

        GameObjectType type = GetObjectTypeById(info.ObjectId);

        if (type == GameObjectType.Player)
        {
            // 추가되는게 플레이어 일때
            GameObject go;
            if (myPlayer)
            {
                go      = Managers.Resource.Instantiate("Creatures/MyPlayer");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                MyPlayer         = go.GetComponent <MyPlayerController>();
                MyPlayer.Id      = info.ObjectId;
                MyPlayer.PosInfo = info.PosInfo;
                MyPlayer.Stat.MergeFrom(info.StatInfo);

                MyPlayer.SynkPos();
            }
            else
            {
                go      = Managers.Resource.Instantiate("Creatures/Player");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                PlayerController pc = go.GetComponent <PlayerController>();
                pc.Id      = info.ObjectId;
                pc.PosInfo = info.PosInfo;
                pc.Stat.MergeFrom(info.StatInfo);

                pc.SynkPos();
            }
        }
        else if (type == GameObjectType.Monster)
        {
            //  몬스터 ADD
            GameObject go;
            go      = Managers.Resource.Instantiate("Creatures/Monster");
            go.name = info.Name;
            _objects.Add(info.ObjectId, go);

            MonsterController mc = go.GetComponent <MonsterController>();
            mc.Id      = info.ObjectId;
            mc.PosInfo = info.PosInfo;
            mc.Stat    = info.StatInfo;
            mc.SynkPos();
        }
        else if (type == GameObjectType.Projectile)
        {
            // 투사체 ADD
            GameObject go;
            go      = Managers.Resource.Instantiate("Creatures/Arrow");
            go.name = info.Name;
            _objects.Add(info.ObjectId, go);

            ArrowController ac = go.GetComponent <ArrowController>();
            ac.PosInfo = info.PosInfo;
            ac.Stat    = info.StatInfo;
            ac.CellPos = new Vector3Int(info.PosInfo.PosX, info.PosInfo.PosY, 0);


            ac.SynkPos();
        }
    }
示例#29
0
    public void RefreshUI()
    {
        if (_init == false)
        {
            return;
        }

        // 우선은 다 가린다
        Get <Image>((int)Images.Slot_Helmet).enabled = false;
        Get <Image>((int)Images.Slot_Armor).enabled  = false;
        Get <Image>((int)Images.Slot_Boots).enabled  = false;
        Get <Image>((int)Images.Slot_Shield).enabled = false;
        Get <Image>((int)Images.Slot_Weapon).enabled = false;

        // 채우기
        foreach (Item item in Managers.Inven.Items.Values)
        {
            if (item.Equipped == false)
            {
                continue;
            }

            ItemData itemData = null;
            Managers.Data.ItemDict.TryGetValue(item.TemplateId, out itemData);
            Sprite icon = Managers.Resource.Load <Sprite>(itemData.iconPath);

            if (item.ItemType == ItemType.Weapon)
            {
                Get <Image>((int)Images.Slot_Weapon).enabled = true;
                Get <Image>((int)Images.Slot_Weapon).sprite  = icon;
            }

            else if (item.ItemType == ItemType.Armor)
            {
                Armor armor = (Armor)item;
                switch (armor.ArmorType)
                {
                case ArmorType.Helmet:
                    Get <Image>((int)Images.Slot_Helmet).enabled = true;
                    Get <Image>((int)Images.Slot_Helmet).sprite  = icon;
                    break;

                case ArmorType.Armor:
                    Get <Image>((int)Images.Slot_Armor).enabled = true;
                    Get <Image>((int)Images.Slot_Armor).sprite  = icon;
                    break;

                case ArmorType.Boots:
                    Get <Image>((int)Images.Slot_Boots).enabled = true;
                    Get <Image>((int)Images.Slot_Boots).sprite  = icon;
                    break;
                }
            }
        }

        // Text
        MyPlayerController player = Managers.Obj.MyPlayer;

        player.RefreshAdditionalStat();

        Get <Text>((int)Texts.NameText).text = player.name;

        int totalDamage = player.Stat.Attack + player.WeaponDamage;

        Get <Text>((int)Texts.AttackValueText).text  = $"{player.Stat.Attack + player.WeaponDamage}";
        Get <Text>((int)Texts.DefenceValueText).text = $"{player.ArmorDefence}";
    }
示例#30
0
    private bool ceasefire = false;     // Не стрелять при нажатии кнопок


    void Awake()
    {
        playerCtrl = transform.root.GetComponent <MyPlayerController>();
    }
    public void Add(ObjectInfo info, bool myPlayer = false)
    {
        if (MyPlayer != null && MyPlayer.id == info.ObjectId)
        {
            return;
        }

        if (_objects.ContainsKey(info.ObjectId))
        {
            return;
        }

        GameObjectType objectType = GetObjectTypeById(info.ObjectId);

        if (objectType == GameObjectType.Player)
        {
            if (myPlayer)
            {
                GameObject go = Managers.Resource.Instantiate("Creature/MyPlayer");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                MyPlayer         = go.GetComponent <MyPlayerController>();
                MyPlayer.id      = info.ObjectId;
                MyPlayer.PosInfo = info.PosInfo;
                MyPlayer.Stat.MergeFrom(info.StatInfo);
                MyPlayer.SyncPos();
            }
            else
            {
                GameObject go = Managers.Resource.Instantiate("Creature/Player");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                PlayerController pc = go.GetComponent <PlayerController>();
                pc.id      = info.ObjectId;
                pc.PosInfo = info.PosInfo;
                pc.Stat.MergeFrom(info.StatInfo);
                pc.SyncPos();
            }
        }
        else if (objectType == GameObjectType.Monster)
        {
            GameObject go = Managers.Resource.Instantiate("Creature/Monster");
            go.name = info.Name;
            _objects.Add(info.ObjectId, go);

            MonsterController mc = go.GetComponent <MonsterController>();
            mc.id      = info.ObjectId;
            mc.PosInfo = info.PosInfo;
            mc.Stat    = info.StatInfo;
            mc.SyncPos();
        }
        else if (objectType == GameObjectType.Projectile)
        {
            GameObject go = Managers.Resource.Instantiate("Creature/Arrow");
            go.name = "Arrow";
            _objects.Add(info.ObjectId, go);

            ArrowController ac = go.GetComponent <ArrowController>();
            ac.PosInfo = info.PosInfo;
            ac.Stat    = info.StatInfo;
            ac.SyncPos();
        }
    }
    public void Add(ObjectInfo info, bool myPlayer = false)
    {
        // 이제 add 전에 타입 구하고 그 타입별로 다르게 add 해야함
        GameObjectType objectType = GetObjectTypeById(info.ObjectId);

        if (objectType == GameObjectType.Player)
        {
            if (myPlayer)
            {
                GameObject go = Managers.Resource.Instantiate("Creature/MyPlayer");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                MyPlayer    = go.GetComponent <MyPlayerController>();
                MyPlayer.Id = info.ObjectId;
                // 이렇게 position에 대한 클래스 하나가 있으면 코드 한줄에 모든 pos 관련 정보를 넣어줄수있다.
                MyPlayer.PosInfo = info.PosInfo;
                MyPlayer.Stat    = info.StatInfo;
                MyPlayer.SyncPos(); // 스르륵 이동 없이 즉시 좌표이동을 반영
            }
            else
            {
                // 내가 조작하는 플레이어가 아닌 경우
                GameObject go = Managers.Resource.Instantiate("Creature/Player");
                go.name = info.Name;
                _objects.Add(info.ObjectId, go);

                PlayerController pc = go.GetComponent <PlayerController>();
                pc.Id      = info.ObjectId;
                pc.PosInfo = info.PosInfo;
                pc.Stat    = info.StatInfo;
                pc.SyncPos();
            }
        }
        else if (objectType == GameObjectType.Monster)
        {
            // 몬스터 생성
            GameObject go = Managers.Resource.Instantiate("Creature/Monster");
            go.name = info.Name;
            _objects.Add(info.ObjectId, go);

            MonsterController mc = go.GetComponent <MonsterController>();
            mc.Id      = info.ObjectId;
            mc.PosInfo = info.PosInfo;
            mc.Stat    = info.StatInfo;
            mc.SyncPos();
        }
        else if (objectType == GameObjectType.Projectile)
        {
            // 이건 여러가지 종류가 있을텐데
            // 일단 화살이라 치자
            GameObject go = Managers.Resource.Instantiate("Creature/Arrow");
            go.name = "Arrow";
            _objects.Add(info.ObjectId, go);

            ArrowController ac = go.GetComponent <ArrowController>();
            ac.PosInfo = info.PosInfo;
            ac.Stat    = info.StatInfo;
            ac.SyncPos(); // 이건 좀 햇갈리네
        }
    }