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 IEnumerator MoveVaccine() { yield return(new WaitForSeconds(1f)); cor = StartCoroutine(VaccineRotate()); KGPlayer[] player = new KGPlayer[PlayerManager.Instance.GetPlayerList.Count]; float speed = 0.5f; float elapsedTime = 0f; Vector3 target = transform.position + Vector3.up * 2.5f; while (elapsedTime <= 5f) { yield return(new WaitForSeconds(0.01f)); elapsedTime += Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, target, Time.deltaTime * speed); if (transform.position.y == target.y) { break; } } yield return(new WaitForSeconds(2f)); DirectionManager.Instance.OpenNarration(220070); //StartCoroutine(DelayNarr()); StopCoroutine(cor); //originVaccine.SetActive(false); (originVaccine.GetComponent("MfxController2") as MonoBehaviour).enabled = true; yield return(new WaitForSeconds(2f)); vaccineEffect.SetActive(false); for (int i = 0; i < player.Length; ++i) { player[i] = PlayerManager.Instance.GetPlayerList[i]; vaccineLight[i].SetActive(true); } int count = player.Length; while (count > 0) { yield return(new WaitForSeconds(0.01f)); speed += 0.06f; for (int i = 0; i < player.Length; ++i) { if (!vaccineLight[i].activeSelf) { continue; } //float playerCenter = (int)player[i].Height / 2; Vector3 pos = player[i].transform.position + Vector3.up * 1.2f; vaccineLight[i].transform.position = Vector3.MoveTowards(vaccineLight[i].transform.position, pos, Time.deltaTime * speed); if (vaccineLight[i].transform.position == pos) { effect[i] = AssetManager.Effect.Retrieve("FX_Direction_VaccineShield", pos); vaccineLight[i].SetActive(false); --count; } } } StartCoroutine(ShieldTrackingPlayer()); yield return(new WaitForSeconds(3f)); if (GameData.Instance.UserType == UserType.Host) { EventManager.Instance.Notify <IEventAfterDirecting>((receiver) => receiver.AfterDirecting()); } //Restore(); }
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; } }