Exemple #1
0
    protected override void OnInit(params object[] parameters)
    {
        base.OnInit(parameters);

        foreach (object element in parameters)
        {
            if (element is GunPartsType)
            {
                m_gunPartsType = (GunPartsType)element;
            }
            if (element is KGPlayer)
            {
                GetPlayer = (KGPlayer)element;
            }
        }
    }
Exemple #2
0
    public void ProcessDirectionPacketData(JObject packetData)
    {
        ItemState itemState = (ItemState)packetData.Value <int>("type");
        int       itemID    = packetData.Value <int>("id");
        Item      item      = FindItemByID(itemID);

        string   PartsGetplayer = packetData.Value <string>("playerid");
        KGPlayer GetPlayer      = PlayerManager.Instance.FindPlayerByID(PartsGetplayer) as KGPlayer;

        switch (itemState)
        {
        case ItemState.Spwan:
            string itemName = packetData.Value <string>("name");

            if (GetPlayer == null)     //파츠가 아닐때
            {
                if (item != null)
                {
                    return;
                }
            }
            else     //파츠일때만 겟플레이어가 있음. 플레이어 아이디가 같으면 리턴
            {
                if (GameData.Instance.UserType == UserType.User)
                {
                    if (GetPlayer.m_id == GameData.Instance.Player.m_id)
                    {
                        return;
                    }
                }
            }

            if (GameData.Instance.UserType == UserType.Host && itemName != "GunParts")
            {
                return;
            }

            ItemType itemType = (ItemType)packetData.Value <int>("itemtype");

            if (ItemType.Heal == itemType)
            {
                float hp = packetData.Value <float>("heal");
                item = AssetManager.Items.Retrieve(itemName, hp) as Item;
            }
            else if (ItemType.GunParts == itemType && GetPlayer != null)
            {
                GunPartsType type = (GunPartsType)packetData.Value <int>("gunpartsType");
                item = AssetManager.Items.Retrieve(itemName, GetPlayer, type) as Item;
            }
            else
            {
                item = AssetManager.Items.Retrieve(itemName) as Item;
            }

            item.m_itemID = itemID;
            item.SetItemTransformFromPacket(packetData);

            break;

        case ItemState.Restore:
            if (null == item)
            {
                return;
            }
            item.Restore();
            break;

        case ItemState.GunPartsSet:

            GunPartsType partsType = (GunPartsType)packetData.Value <int>("parts");
            //GunPartsType partsType = packetData.Value<int>("")

            Rifle rifle = GetPlayer.CurrentWeapon as Rifle;

            switch (partsType)
            {
            case GunPartsType.None:
                break;

            case GunPartsType.LaserParts:
                rifle.m_laserPart.gameObject.SetActive(true);
                rifle.m_laserPart.Init(GetPlayer, 20f);
                break;

            case GunPartsType.FireParts:
                rifle.m_firePart.gameObject.SetActive(true);
                rifle.m_firePart.Init(GetPlayer, 20f);
                break;

            case GunPartsType.GrenadeParts:
                rifle.m_grenadePart.gameObject.SetActive(true);
                rifle.m_grenadePart.Init(GetPlayer, 20f);
                break;
            }

            rifle.DissolveStart();
            break;
        }
    }