public GridObject CreateBuilding(string templateID) { GridObject template = TemplateManager.Instance.Get <PurchasableObject>(templateID); if (template != null) { PurchasableObject buildingData = (PurchasableObject)template; if (buildingData != null) { if (HasResource(buildingData.BuildingCost.ResourceCost.Type, buildingData.BuildingCost.ResourceCost.Amount)) { GridObject gridObject = TemplateManager.Instance.Spawn <GridObject>(template); gridObject.UID = GetNewUID(gridObject); return(gridObject); } ShowMessage("Not enough Cash!"); } else { Debug.LogError("Can not create building '" + templateID + "' because it is not of type 'BaseBuilding'."); } } return(null); }
public static void Create() { PurchasableObject asset = ScriptableObject.CreateInstance <PurchasableObject>(); AssetDatabase.CreateAsset(asset, "Assets/NewPurchasableObject.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }
public void MakePurchase(PurchasableObject obj) { for (var i = 0; i < Available.ObjectList.Count; i++) { PurchasableObject availableObject = Available.ObjectList[i]; if (availableObject == obj && Cash.Value >= availableObject.Value) { Cash.Value -= availableObject.Value; Purchased.ObjectList.Add(obj); Available.ObjectList.Remove(availableObject); MadePurchase.Invoke(); } } }
public void MakePurchase(PurchasableObject obj) { for (var i = 0; i < Available.ObjectList.Count; i++) //For each of the objects available in our object list... { PurchasableObject availableObject = Available.ObjectList[i] as PurchasableObject; ; if (availableObject == obj && Cash.Value >= availableObject.Value) //If the object is a available... { Cash.Value -= availableObject.Value; //Subtracts our Cash amount after purchasing Purchased.ObjectList.Add(obj); //Purchase it Available.ObjectList.Remove(availableObject); //Remove it from available objects MadePurchase.Invoke(); //Anything we want. What happens after purchasing! } } }
public void MakePurchase(PurchasableObject obj) { Debug.Log("test"); for (var i = 0; i < Available.ObjectList.Count; i++) { var availableObject = Available.ObjectList[i]; if (availableObject != obj || Cash.Value < availableObject.Value) { continue; } Cash.Value -= availableObject.Value; Purchased.ObjectList.Add(obj); if (availableObject.Perpetual) { Available.ObjectList.Remove(availableObject); } MadePurchase.Invoke(); } }
/// <summary> /// User clicked on an item in the list containing available heads and bodies. /// </summary> private void LstHeads_SelectedIndexChanged(object sender, EventArgs e) { if (m_Skeleton == null) { m_Skeleton = new Skeleton(this.Device, ContentManager.GetResourceFromLongID(0x100000005)); m_Skeleton.AssignChildren(ref m_Skeleton); } foreach(KeyValuePair<ulong, string> Pair in ContentManager.Resources) { if ((string)LstHeads.SelectedItem == Pair.Value) { //HAndGroup files are used to group together different hand meshes and textures. if (Pair.Value.Contains(".hag")) { Hag HandGroup = new Hag(ContentManager.GetResourceFromLongID(Pair.Key)); m_CurrentAppearance = new Appearance(ContentManager.GetResourceFromLongID( HandGroup.Appearances[0])); LstAppearances.Items.Clear(); foreach (ulong AppearanceID in HandGroup.Appearances) LstAppearances.Items.Add(AppearanceID); List<Binding> Bindings = new List<Binding>(); foreach (ulong BindingID in m_CurrentAppearance.BindingIDs) Bindings.Add(new Binding(ContentManager.GetResourceFromLongID(BindingID))); m_Tex = Texture2D.FromFile(this.Device, new MemoryStream( ContentManager.GetResourceFromLongID(Bindings[0].TextureAssetID))); m_CurrentMesh = new Mesh(ContentManager.GetResourceFromLongID(Bindings[0].MeshAssetID), false); LoadMesh(m_CurrentMesh); } else { PurchasableObject PO = new PurchasableObject(ContentManager.GetResourceFromLongID(Pair.Key)); m_CurrentOutfit = new Outfit(ContentManager.GetResourceFromLongID(PO.OutfitID)); m_CurrentAppearance = new Appearance( ContentManager.GetResourceFromLongID(m_CurrentOutfit.LightAppearanceID)); LstAppearances.Items.Clear(); LstAppearances.Items.Add(m_CurrentOutfit.LightAppearanceID); LstAppearances.Items.Add(m_CurrentOutfit.MediumAppearanceID); LstAppearances.Items.Add(m_CurrentOutfit.DarkAppearanceID); List<Binding> Bindings = new List<Binding>(); foreach (ulong BindingID in m_CurrentAppearance.BindingIDs) Bindings.Add(new Binding(ContentManager.GetResourceFromLongID(BindingID))); m_Tex = Texture2D.FromFile(this.Device, new MemoryStream( ContentManager.GetResourceFromLongID(Bindings[0].TextureAssetID))); //The file selected was most likely a body-mesh, so apply the adult skeleton to it. if (Pair.Value.Contains("bodies")) { m_CurrentMesh = new Mesh(ContentManager.GetResourceFromLongID(Bindings[0].MeshAssetID), true); m_CurrentMesh.TransformVertices2(m_Skeleton.Bones[0], ref mSimpleEffect); m_CurrentMesh.BlendVertices2(); LoadMesh(m_CurrentMesh); } else { m_CurrentMesh = new Mesh(ContentManager.GetResourceFromLongID(Bindings[0].MeshAssetID), false); LoadMesh(m_CurrentMesh); } } m_LoadComplete = true; } } }