public static void OnComplete(GameObject obj) { SceneItemAgent agent = obj.GetComponent <SceneItemAgent>(); CFX_AutoRotate rotate = obj.GetComponent <CFX_AutoRotate>(); GameObject.Destroy(rotate); obj.transform.rotation = Quaternion.Euler(0, obj.transform.eulerAngles.y, 0); if (agent != null) { agent.OnStart(); //agent.SetAsDrop(); if (agent.ItemInfo != null && agent.ItemInfo.IsFlag()) { agent.SetAutoDestroy(3.0f);//镖物归位 } } else { PickupItemAgent a = obj.GetComponent <PickupItemAgent>(); if (a != null) { a.OnStart(); } } }
public void OnDestroyPickupItem(PickupItemAgent item) { if (!PickupItems.Contains(item)) { return; } PickupItems.Remove(item); }
public void OnGeneratePickupItem(PickupItemAgent item) { if (PickupItems.Contains(item)) { return; } PickupItems.Add(item); item.InstanceId = PickupItemInstanceIdx++; }
GameObject CreateTriggerObj(string des, Transform pos, Vector3 forward) { GameObject obj = new GameObject(des); obj.transform.position = Vector3.zero; obj.transform.rotation = Quaternion.identity; obj.transform.localScale = Vector3.one; obj.transform.SetParent(Loader.Instance == null ? null : Loader.Instance.transform); obj.transform.position = pos.position + Vector3.up * 50 + forward * 35; PickupItemAgent agent = obj.AddComponent <PickupItemAgent>(); agent.SetPickupItem(des); return(obj); }
void OnItemPickuped(GetItemMsg item) { MeteorUnit unit = U3D.GetUnit((int)item.playerId); if (item.type == (int)GetItemType.SceneItem) { SceneItemAgent sceneItem = U3D.GetSceneItem((int)item.instance); if (sceneItem != null) { sceneItem.OnNetPickuped(unit); } } else if (item.type == (int)GetItemType.PickupItem) { PickupItemAgent pickup = U3D.GetPickupItem((int)item.instance); if (pickup != null) { pickup.OnNetPickup(unit); } } }