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; } } }
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; } }