public void OnBuildingOptionAdded(PlayerBuildableObjectData addedObj) { if (addedObj.Obj.printableName == factoryToSearchFor.printableName) { hasBuiltFactory = true; } }
public void OnBuildingOptionRemoved(PlayerBuildableObjectData removedObj) { if (removedObj.Obj.printableName == factoryToSearchFor.printableName) { hasBuiltFactory = pEnv.GetBuildableObjects().GetBuildableObject(removedObj.Obj) != null; } }
//Player argument can be removed since this class is unique for each player. public void AddObject(Player player, BaseUnit obj, ToolbarClickListener responsibleForCreation) { PlayerBuildableObjectData pbo = new PlayerBuildableObjectData(player, obj, responsibleForCreation); availableUnits.Add(pbo); changeListeners.ForEach(elem => elem.OnBuildingOptionAdded(pbo)); }
public void RemoveElement(BaseObject baseObject) { bool found = false; PlayerBuildableObjectData removed = null; for (int i = 0; i < availableBuildings.Count && !found; i++) { removed = availableBuildings[i]; if (removed.Obj == baseObject) { availableBuildings.Remove(removed); found = true; } } for (int i = 0; i < availableUnits.Count && !found; i++) { removed = availableUnits[i]; if (removed.Obj == baseObject) { availableUnits.Remove(removed); found = true; } } if (found) { changeListeners.ForEach(elem => elem.OnBuildingOptionRemoved(removed)); } }
private void CreateUnit(PlayerBuildableObjectData pbod) { BaseObject createdObject = pbod.creationObject.OnToolBarClick(pbod.Obj); if (createdObject != null) { availableBattleUnits.Add(createdObject); undeployedUnits.Add(createdObject); } }
public PlayerBuildableObjectData GetBuildableObject(BaseObject baseObject) { PlayerBuildableObjectData pbod = availableBuildings.Find(elem => elem.Obj.printableName == baseObject.printableName); if (pbod != null) { return(pbod); } return(availableUnits.Find(elem => elem.Obj.printableName == baseObject.printableName)); }
public override bool Equals(object obj) { PlayerBuildableObjectData comp = obj as PlayerBuildableObjectData; if (comp == null) { return(false); } return(Obj.printableName.Equals(comp.Obj.printableName)); }
public void OnClicked(int id) { PlayerBuildableObjectData toolbarEntry = null; if (toolbarState == ToolbarState.BUILDING && id < buildableObjects.getAvailableBuildings().Count) { toolbarEntry = buildableObjects.getAvailableBuildings()[id]; } else if (toolbarState == ToolbarState.UNIT && id < buildableObjects.getAvailableUnits().Count) { toolbarEntry = buildableObjects.getAvailableUnits()[id]; } if (toolbarEntry != null) { toolbarEntry.creationObject.OnToolBarClick(toolbarEntry.Obj); } }
public void OnBuildingOptionRemoved(PlayerBuildableObjectData removedObj) { RedrawToolbar(); }
public void OnBuildingOptionAdded(PlayerBuildableObjectData addedObj) { RedrawToolbar(); }