Beispiel #1
0
    // 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);
 }
Beispiel #3
0
    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);
    }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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);
 }
Beispiel #7
0
 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);
 }