// makes necessary changes to the hidden pop-up menu public void setUpMenu() { ShipDefinitions.ShipEntity entityUpdated = gameObject.transform.parent.GetComponent <ShipBasic>().entity; print("loaded ship: " + ShipDefinitions.shipToString(entityUpdated)); entityUpdated = ShipDefinitions.loadShip(entityUpdated.uniqueId); popUp.GetComponent <ShipModSlotHandler>().setShip(entityUpdated); }
public void OnDrop(PointerEventData eventData) { Debug.Log("onDrop is called"); if (!draggedObject) { // check if slot has an item already GameObject obj = GameObject.Instantiate(dragHandler.draggedObject.gameObject); obj.GetComponent <IconHandler>().setNum(1); // check if slot has an item already obj.transform.SetParent(transform); dragHandler.draggedObject.GetComponent <IconHandler>() .decOne(); ItemAbstract item = ItemDefinitions.stringToItem( draggedObject.GetComponent <ItemBasic>().itemString); transform.parent.GetComponent <ShipModSlotHandler>().setShipItem(item); //dragHandler.draggedObject.transform.SetParent(transform); print("obj: " + draggedObject.GetComponent <ItemBasic>().itemString); print("item: " + item.getType()); ShipDefinitions.ShipEntity entity = ShipDefinitions.loadShip(transform.parent.GetComponent <ShipModSlotHandler>().thisEntity.uniqueId); print("ship: " + entity.uniqueId); print("currentItems: " + ItemDefinitions.itemsToString(entity.items)); entity.items.Add(item); print("newCurrentItems: " + ItemDefinitions.itemsToString(entity.items)); ShipDefinitions.saveShip(entity); } }
// if an item is selected, keep track of it public void shipSelected(GameObject obj) { print("selected ship!"); selectedShip = obj; ShipDefinitions.ShipEntity updatedEntity = ShipDefinitions.loadShip(obj.GetComponent <ShipBasic>().entity.uniqueId); shipInfoHandler.GetComponent <ShipyardInfoViewHandler>() .setShipInfo(updatedEntity); }
public void Level1Setup() { PlayerPrefs.SetString("TSSE[Level][Current]", "Level1"); LevelDefinitions.Level level1 = new LevelDefinitions.Level(); level1.uniqueId = "Level1"; List <ShipDefinitions.ShipEntity> enemies = new List <ShipDefinitions.ShipEntity>(); // Adding default enemies for sake of testing ShipDefinitions.ShipEntity enemy1 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Flame, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy1"); ShipDefinitions.ShipEntity enemy2 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Flame, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy2"); ShipDefinitions.ShipEntity enemy3 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Flame, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy3"); ShipDefinitions.ShipEntity enemy4 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Crown, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy4"); ShipDefinitions.ShipEntity enemy5 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Crown, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy5"); ShipDefinitions.ShipEntity enemy6 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Crown, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy6"); enemies.Add(enemy1); enemies.Add(enemy2); enemies.Add(enemy3); enemies.Add(enemy4); enemies.Add(enemy5); enemies.Add(enemy6); level1.ships = enemies; level1.shipSpawningTokens = new Dictionary <string, string>(); level1.shipSpawningTokens["Enemy1"] = "wave0"; level1.shipSpawningTokens["Enemy2"] = "wave0"; level1.shipSpawningTokens["Enemy3"] = "wave0"; level1.shipSpawningTokens["Enemy4"] = "wave1"; level1.shipSpawningTokens["Enemy5"] = "wave1"; level1.shipSpawningTokens["Enemy6"] = "wave1"; level1.shipSpawningTokens["PlayerShip0"] = "center"; level1.shipSpawningTokens["PlayerShip1"] = "center"; level1.shipSpawningTokens["PlayerShip2"] = "center"; level1.shipSpawningTokens["PlayerShip3"] = "center"; level1.shipSpawningTokens["PlayerShip4"] = "center"; level1.shipSpawningTokens["PlayerShip5"] = "center"; PlayerPrefs.SetString("TSSE[Level][Current]", level1.uniqueId); LevelDefinitions.saveLevel(level1); }
public void resetShip() { ShipDefinitions.ShipEntity entity = GetComponentInParent <ShipBasic>().entity; entity = ShipDefinitions.loadShip(entity.uniqueId); entity.items.Clear(); ShipDefinitions.saveShip(entity); // I am so sorry GameObject.Find("ship-info-textbox").GetComponent <ShipyardInfoViewHandler>() .updateEntity(); }
public void spawnShip(Vector2 spawningPt, ShipDefinitions.ShipEntity entity) { GameObject ship; if (entity.faction == ShipDefinitions.Faction.Enemy) { if (entity.shipType == ShipDefinitions.ShipType.Ruby) { ship = getShipRubyPirate(); } else if (entity.shipType == ShipDefinitions.ShipType.Peacock) { ship = getShipPeacockPirate(); } else { return; } } else { if (entity.shipType == ShipDefinitions.ShipType.Ruby) { ship = getShipRuby(); } else if (entity.shipType == ShipDefinitions.ShipType.Peacock) { ship = getShipPeacock(); } else { return; } } ShipIntf shipIntf = ship.GetComponent <ShipIntf>(); shipIntf.setEngineType(entity.engType); shipIntf.setWeaponType(entity.weapType); shipIntf.setShipType(entity.shipType); shipIntf.setFaction(entity.faction); ship.GetComponent <MainShip>().setItems(entity.items); //ship.AddComponent<AIController>(); spawnShip(spawningPt, ship); }
public void setShipInfo(ShipDefinitions.ShipEntity entity) { thisEntity = entity; UnityEngine.UI.Text textThing = transform.GetChild(0).GetComponent <UnityEngine.UI.Text>(); string info = "Current Ship: " + entity.uniqueId + "\n"; info += "Ship type: " + entity.shipType.ToString() + "\n"; info += "Engine type: " + entity.engType.ToString() + "\n"; info += "Weapon type: " + entity.weapType.ToString() + "\n"; info += "Items: "; if (entity.items != null) { foreach (ItemAbstract item in entity.items) { if (item.getType() == "Error") { continue; } info += item.toString() + " "; } } textThing.text = info; }
public void setShip(ShipDefinitions.ShipEntity entity) { print("setting ship"); //clearItemsInSlots(); thisEntity = entity; setShipImage(entity.shipType); /* * int index = 0; * foreach(ItemAbstract item in entity.items) * { * if (item.getType() == "Error") * continue; * print(index + " " + item.toString()); * setShipItem(index, item); * GameObject.Find("Inventory").GetComponent<Inventory>() * .removeItem(item); * index++; * if (index > totalSlots) * return; * } */ }
// add the ship public void addShip(ShipDefinitions.ShipEntity entity) { print("adding ship: " + entity.uniqueId); // We haven't returned earlier, so this must be a new item // So, we create a new thing and add to the listview // We have an example item in the PrefabHost GameObject newShip; if (shipyard) { newShip = GameObject.Find("GameLogic"). GetComponent <PrefabHost>().getShipyardDisplayObject(); newShip.GetComponent <ShipBasic>().entity = entity; switch (entity.shipType) { case ShipDefinitions.ShipType.Ruby: newShip.transform.GetChild(1).GetComponent <makePop>().popUp = slotsTwo; break; case ShipDefinitions.ShipType.Peacock: newShip.transform.GetChild(1).GetComponent <makePop>().popUp = slotsFour; break; } } else { newShip = GameObject.Find("GameLogic"). GetComponent <PrefabHost>().getShipDisplayObject(); newShip.GetComponent <ShipBasic>().entity = entity; } GameObject newEngine = null; switch (entity.shipType) { case ShipDefinitions.ShipType.Ruby: newShip.transform.GetChild(0).GetComponent <UnityEngine.UI.Image>() .sprite = GameObject.Find("GameLogic").GetComponent <ImageHost>().shipRuby; break; case ShipDefinitions.ShipType.Peacock: newShip.transform.GetChild(0).GetComponent <UnityEngine.UI.Image>() .sprite = GameObject.Find("GameLogic").GetComponent <ImageHost>().shipPeacock; break; case ShipDefinitions.ShipType.None: return; } /* * switch(entity.engType) * { * case ShipDefinitions.EngineType.Engine1: * newEngine = GameObject.Find("GameLogic").GetComponent<PrefabHost>().getEngine1HD(); * * newEngine.transform.SetParent(newShip.transform, false); * newEngine.transform.localPosition = new Vector3(184, 80, 0); * newEngine.transform.localScale = new Vector3(100, 100, 0); * * newEngine.transform.GetComponent<SpriteRenderer>().enabled = true; * newEngine.transform.GetComponent<Animator>().Play("Active"); * break; * case ShipDefinitions.EngineType.Engine2: * newEngine = GameObject.Find("GameLogic").GetComponent<PrefabHost>().getEngine2HD(); * * newEngine.transform.SetParent(newShip.transform, false); * newEngine.transform.localPosition = new Vector3(184, 47, 0); * newEngine.transform.localScale = new Vector3(100, 100, 0); * * newEngine.transform.GetComponent<SpriteRenderer>().enabled = true; * newEngine.transform.GetComponent<Animator>().Play("Active"); * break; * } */ // Add to listview newShip.transform.SetParent(transform.GetChild(0).transform, false); // This is so we call itemSelected if we click an item here newShip.GetComponent <UnityEngine.UI.Button>() .onClick.AddListener(delegate() { shipSelected(newShip); }); GetComponent <UnityEngine.UI.ScrollRect>().verticalNormalizedPosition = 1; }
// reduce quantity if present, otherwise remove item public void removeShip(ShipDefinitions.ShipEntity entity) { }
// reduce quantity, remove from list if none are left public void removeShip(ShipDefinitions.ShipEntity entity) { inventoryDisplay.GetComponent <ShipListHandler>(). removeShip(entity); }
public void addShip(ShipDefinitions.ShipEntity entity) { shipDisplay.GetComponent <ShipListHandler>(). addShip(entity); }
public void updateEntity() { thisEntity = ShipDefinitions.loadShip(thisEntity.uniqueId); setShipInfo(thisEntity); }
// Use this for initialization void Start() { shipInfo = new ShipDefinitions.ShipEntity[6]; ships = new GameObject[6]; ships[0] = ship1; ships[1] = ship2; ships[2] = ship3; ships[3] = ship4; ships[4] = ship5; ships[5] = ship6; weapons = new GameObject[6]; weapons[0] = weapon1; weapons[1] = weapon2; weapons[2] = weapon3; weapons[3] = weapon4; weapons[4] = weapon5; weapons[5] = weapon6; engines = new GameObject[6]; engines[0] = engine1; engines[1] = engine2; engines[2] = engine3; engines[3] = engine4; engines[4] = engine5; engines[5] = engine6; // initialize info for (int i = 0; i < 6; i++) { ShipDefinitions.ShipEntity entity = new ShipDefinitions.ShipEntity(); entity.engType = ShipDefinitions.EngineType.None; entity.weapType = ShipDefinitions.WeaponType.None; entity.shipType = ShipDefinitions.ShipType.None; entity.faction = ShipDefinitions.Faction.PlayerAffil; entity.uniqueId = "PlayerShip" + i.ToString(); entity.items = new List <ItemAbstract>(); shipInfo[i] = entity; } shipInfo[0].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModAmmoCap, 1)); // add listener so we change current selected ship // when the dropdown changes dropdown.onValueChanged.AddListener(delegate { handleDropDownChange(dropdown); }); // add moar listeners addButtonListener(shipButton1); addButtonListener(shipButton2); addButtonListener(crownButton); addButtonListener(laserButton); addButtonListener(missileButton); addButtonListener(flameButton); addButtonListener(engineButton1); addButtonListener(engineButton2); // start with all buttons unhighlighted // (nothing equipped) unhighlightButton(shipButton1); unhighlightButton(shipButton2); unhighlightButton(crownButton); unhighlightButton(laserButton); unhighlightButton(missileButton); unhighlightButton(flameButton); // add listener buttonContinue.onClick.AddListener(delegate { tryToContinue(buttonContinue); }); }
// react on dropdown change // to show current equipped things on that ship void handleDropDownChange(UnityEngine.UI.Dropdown dropdownTarget) { selectedShip = dropdownTarget.value; ShipDefinitions.ShipEntity selectInfo = shipInfo[dropdownTarget.value]; if (selectInfo.shipType != ShipDefinitions.ShipType.Peacock) { unhighlightButton( GameObject.Find("buttonShipLvl2") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonShipLvl2") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.shipType != ShipDefinitions.ShipType.Ruby) { unhighlightButton( GameObject.Find("buttonShipLvl1") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonShipLvl1") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.engType != ShipDefinitions.EngineType.Engine2) { unhighlightButton( GameObject.Find("buttonEngineLvl2") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonEngineLvl2") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.engType != ShipDefinitions.EngineType.Engine1) { unhighlightButton( GameObject.Find("buttonEngineLvl1") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonEngineLvl1") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.weapType != ShipDefinitions.WeaponType.Crown) { unhighlightButton( GameObject.Find("buttonCrown") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonCrown") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.weapType != ShipDefinitions.WeaponType.Missile) { unhighlightButton( GameObject.Find("buttonMissile") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonMissile") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.weapType != ShipDefinitions.WeaponType.Laser) { unhighlightButton( GameObject.Find("buttonLaser") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonLaser") .GetComponent <UnityEngine.UI.Button>()); } if (selectInfo.weapType != ShipDefinitions.WeaponType.Flame) { unhighlightButton( GameObject.Find("buttonFlame") .GetComponent <UnityEngine.UI.Button>()); } else { highlightButton( GameObject.Find("buttonFlame") .GetComponent <UnityEngine.UI.Button>()); } }
public void saveStuff() { List <ShipDefinitions.ShipEntity> list = new List <ShipDefinitions.ShipEntity>(); list.AddRange(shipInfo); // Adding default enemies for sake of testing ShipDefinitions.ShipEntity enemy1 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Flame, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy1"); ShipDefinitions.ShipEntity enemy2 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Crown, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy2"); ShipDefinitions.ShipEntity enemy3 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine1, ShipDefinitions.WeaponType.Flame, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy3"); ShipDefinitions.ShipEntity enemy4 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Laser, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy4"); ShipDefinitions.ShipEntity enemy5 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Crown, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy5"); ShipDefinitions.ShipEntity enemy6 = new ShipDefinitions.ShipEntity(ShipDefinitions.EngineType.Engine2, ShipDefinitions.WeaponType.Missile, ShipDefinitions.ShipType.Ruby, new List <ItemAbstract>(), ShipDefinitions.Faction.Enemy, "Enemy6"); list.Add(enemy1); list.Add(enemy2); list.Add(enemy3); list.Add(enemy4); list.Add(enemy5); list.Add(enemy6); /* * LevelDefinitions.Level level = new LevelDefinitions.Level(); * * level.uniqueId = "awyesfirstlevel"; * level.ships = list; * level.type = LevelDefinitions.LevelType.Wave; * level.shipSpawningTokens = new Dictionary<string, string>(); * * foreach(ShipDefinitions.ShipEntity playership in shipInfo) * { * level.shipSpawningTokens[playership.uniqueId] = "center"; * } * level.shipSpawningTokens["Enemy1"] = "wave0"; * level.shipSpawningTokens["Enemy2"] = "wave0"; * level.shipSpawningTokens["Enemy3"] = "wave0"; * level.shipSpawningTokens["Enemy4"] = "wave1"; * level.shipSpawningTokens["Enemy5"] = "wave1"; * level.shipSpawningTokens["Enemy6"] = "wave1"; * * /* * level.ships[0].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModDamage, 3)); * level.ships[0].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRechargeRate, 3)); * level.ships[0].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRange, 3)); * level.ships[1].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModDamage, 3)); * level.ships[1].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRechargeRate, 3)); * level.ships[1].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRange, 3)); * level.ships[2].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModDamage, 3)); * level.ships[2].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRechargeRate, 3)); * level.ships[2].items.Add(ItemAbstract.newItem(WeaponItem.WeaponType.CrownModRange, 3)); * * PlayerPrefs.SetString("TSSE[Level][Current]", "awyesfirstlevel"); * * LevelDefinitions.saveLevel(level); */ }