private void Awake() { selectedListID = 0; instances.Add(this); IsInventory = name == ("Inventory") ? true : false; inventory = GameObject.FindGameObjectWithTag("Player").GetComponent <Behaviour_Container>(); }
public void Pull() { containerScript = GetComponent <Behaviour_Container>(); containerScript.enabled = false; collider2D.isTrigger = false; inUse = true; StartCoroutine(Shadow(true)); }
public static void TossItem() { if (selectedList == inventoryList) { Behaviour_Container.TransferItem(inventory, container, selectedList.IndexOf(selectedItem)); selectedListID = 1; } else { Behaviour_Container.TransferItem(container, inventory, selectedList.IndexOf(selectedItem)); selectedListID = 0; } foreach (UI_Container instance in instances) { instance.Clear(); instance.Refresh(); } }
//Make list of nearby actions available to the character public List <Info_Action> Action() { Physics2D.queriesHitTriggers = true; Collider2D[] hits = Physics2D.OverlapAreaAll(transform.position + renderer.bounds.size, transform.position - renderer.bounds.size - new Vector3(-transform.localScale.x * 2, 0, 0)); var actionList = new List <Info_Action>(); foreach (Collider2D hit in hits) { MonoBehaviour script = hit.GetComponent <Behaviour_Door>(); if (script != null) { Behaviour_Door newScript = (Behaviour_Door)script; if (!newScript.IsBusy) { if (newScript.IsClosed()) { actionList.Add(new Info_Action("Open", script)); if (!newScript.CheckLock()) { actionList.Add(new Info_Action("Unlock", script)); } else { actionList.Add(new Info_Action("Lock", script)); } } else { actionList.Add(new Info_Action("Close", script)); } } continue; } script = hit.GetComponent <Behaviour_Switch>(); if (script != null) { Behaviour_Switch newScript = (Behaviour_Switch)script; if (newScript.Coded) { actionList.Add(new Info_Action("Hack", script)); } else { actionList.Add(new Info_Action("Use", script)); } } script = hit.GetComponent <Behaviour_Container>(); var isPlayer = hit.gameObject.tag == ("Player") ? true : false; if (script != null && !isPlayer) { Behaviour_Container container = (Behaviour_Container)script; actionList.Add(new Info_Action("Search", script)); } script = hit.GetComponent <Behaviour_Cover>(); if (script != null) { Behaviour_Cover cover = (Behaviour_Cover)script; if (cover.InUse) { actionList.Add(new Info_Action("Push back", script)); } else { actionList.Add(new Info_Action("Pull out", script)); } } } Physics2D.queriesHitTriggers = false; return(actionList); }
public static void TransferItem(Behaviour_Container from, Behaviour_Container to, int id) //Used to transfer items between containers { to.items.Add(from.items[id]); from.items.RemoveAt(id); }