// Start is called before the first frame update void Awake() { rigidbody = GetComponent <Rigidbody2D>(); itemFinder = GetComponentInChildren <ItemTrigger>(); carryItemTransform = transform.Find("CarryItemPosition"); }
public static bool deleteFindedEvidence() { evidence = GameObject.FindGameObjectsWithTag("evidence"); for (int i = 0; i < evidence.Length; i++) { ItemTrigger it = evidence[i].GetComponent <ItemTrigger>(); if (it.isfind) { it.isfind = false; MonoBehaviour.Destroy(it.gameObject); return(true); } } return(false); }
protected void CreateTriggerItem() { GameObject m_trigger = new GameObject("ItemTrigger"); BoxCollider2D m_triggerCollider = m_trigger.AddComponent <BoxCollider2D>(); ItemTrigger m_triggerItem = m_trigger.AddComponent <ItemTrigger>(); m_triggerItem.m_baseObject = this; m_triggerItem.m_type = m_type; m_triggerItem.m_value = m_value; m_triggerItem.m_SubWeaponPrefab = m_subWeaponPrefab; Rigidbody2D m_triggerRigid = m_trigger.AddComponent <Rigidbody2D>(); m_triggerRigid.bodyType = RigidbodyType2D.Kinematic; m_triggerCollider.size = GetComponent <BoxCollider2D>().size; m_triggerCollider.isTrigger = true; m_trigger.layer = LayerMask.NameToLayer("ItemTrigger"); m_trigger.transform.SetParent(transform, false); }
/// <summary> /// Loops through the triggers array in the BsonDocument and adds them to the Item /// </summary> /// <param name="result"></param> /// <param name="tempItem"></param> /// <returns></returns> private static Iitem AddTriggersToItem(Iitem result, BsonDocument tempItem) { //This method could probably just return an ITriggers List instead result.ItemTriggers = new List <ITrigger>(); // result.SpeechTriggers = new List<ITrigger>(); if (tempItem["Triggers"].AsBsonArray.Count > 0) { //loop through the triggers, an item can have multiple triggers for different things foreach (BsonDocument doc in tempItem["Triggers"].AsBsonArray) { ItemTrigger trigger = new ItemTrigger(doc); SubscribeToCorrectEvent(result, trigger); //for most scripts we are going to want the playerID to then get anything else we may want within it like rooms, items, etc trigger.script.AddVariable(result.Owner, "ownerID"); result.ItemTriggers.Add(trigger); } } return(result); }
/// <summary> /// Subscribes the trigger to an item event based on the ItemTrigger.TriggerOn property /// </summary> /// <param name="result"></param> /// <param name="trigger"></param> private static void SubscribeToCorrectEvent(Iitem result, ItemTrigger trigger) { if (!string.IsNullOrEmpty(trigger.TriggerOn)) { switch (trigger.TriggerOn.ToUpper()) { case "OPEN": result.ContainerOpened += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "CLOSE": result.ContainerClosed += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "DETERIORATE": result.Deteriorated += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "IMPROVE": result.Improved += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "WORN": result.ItemWorn += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "IGNITE": result.Ignited += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "EXTINGUISH": result.Extinguished += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "DRAIN": result.Drained += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "RECHARGE": result.Recharged += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "EXAMINE": result.Examined += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "LOOKIN": result.LookedIn += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "STORE": result.Stored += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "RETRIEVE": result.Retrieved += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "CONSUME": result.Consumed += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; case "WIELD": result.Wielded += new EventHandler <ItemEventArgs>(trigger.HandleEvent); break; default: break; } } }
// Use this for initialization void Start() { item = GameObject.Find ("Item1"); it = item.GetComponent<ItemTrigger> (); Debug.Log ("INITIAL: " + it.isActive); }
private void Awake() { player = GameObject.FindGameObjectWithTag("Player").GetComponentInChildren <ItemTrigger>(); miniTofu = GameObject.FindGameObjectWithTag("miniTofu"); anim = transform.parent.GetComponent <Animator>(); }
// Use this for initialization void Start() { item = GameObject.Find("Item1"); it = item.GetComponent <ItemTrigger> (); Debug.Log("INITIAL: " + it.isActive); }