public void Add(InteractiveObj iObj) { ObjectInteraction oi = iObj.OnCloseEnough; switch (oi.interactionType) { case ObjectInteraction.InteractionType.Unique: Insert(iObj); break; case ObjectInteraction.InteractionType.Accumulate: { bool inserted = false; CustomGameObj cgo = iObj.gameObject.GetComponent <CustomGameObj> (); CustomGameObj.CustomObjectType cot = CustomGameObj.CustomObjectType.Invalid; if (cgo != null) { cot = cgo.objectType; // type } for (int i = 0; i < inventoryItems.Count; i++) { CustomGameObj cgoi = inventoryItems[i].item.GetComponent <CustomGameObj> (); CustomGameObj.CustomObjectType coti = CustomGameObj.CustomObjectType.Invalid; if (cgoi != null) { coti = cgoi.objectType; // type } if (cot == coti) //accumulate { inventoryItems [i].quantity++; //deal with mission token MissionToken mt = iObj.gameObject.GetComponent <MissionToken> (); if (mt != null) { missionMgr.Add(mt); iObj.gameObject.SetActive(false); inserted = true; break; } } //if(cot == coti) } //for ( if (!inserted) { Insert(iObj); } } //accumulate break; } //switch }
public void Insert(InteractiveObj iObj) { InventoryItem ii = new InventoryItem(); ii.item = iObj.gameObject; ii.quantity = 1; ii.item.SetActive(false); inventoryItems.Add(ii); //TODO: MissionMgr MissionToken mt = ii.item.GetComponent <MissionToken>(); if (mt != null) { Debug.Log("In InventoryMgr.Insert: mt="); Debug.Log(mt); missionMgr.Add(mt); } }
public List <MissionToken> missionTokens = new List <MissionToken>(); //run time part public void Add(MissionToken mt) { Debug.Log("In MissionMgr.Add:"); Debug.Log(mt); bool uniqueToken = true; for (int i = 0; i < missionTokens.Count; i++) { if (missionTokens [i].id == mt.id) { uniqueToken = false; break; } } if (uniqueToken) { missionTokens.Add(mt); } ValidateAll(); }
// add a new mission to the list of missions. public void AddMission(MissionToken mt) { bool uniquetoken = true; if (missionTokens != null) { // check all the mission tokens, and make sure this one is not there. // TODO: what is there no find in list? // if (missionTokens.Exists(mt)) ?? MTL for (int i=0; i<missionTokens.Count; i++) { if (missionTokens[i].GetInstanceID == mt.id) { // duplicate token found, so abort the insert uniqueToken = false; break; } } } // insert if unique. if (uniquetoken) { missionTokens.Add(mt); } }