public static ItemAbstract newItem(string type, int tier) { if (WeaponItem.isWeaponType(type)) { return(new WeaponItem(type, tier)); } else if (EngineItem.isEngineType(type)) { return(new EngineItem(type, tier)); } return(new WeaponItem(WeaponItem.WeaponType.Error, 0)); }
public void reloadItems() { print(engines + " " + weapons + " " + engineBlueprints + " " + weaponBlueprints); inventoryDisplay.GetComponent <ItemListHandler>().removeAllItems(); foreach (string key in inventory.Keys) { if (inventory[key] <= 0) { continue; } ItemAbstract item = ItemDefinitions.stringToItem(key); print(key + "->" + item.getType() + ":" + item.getTier()); if (item.getType() == "Error") { continue; } if (WeaponItem.isWeaponType(item.getType())) { if (item.getTier() < 4) { if (weapons) { addNumItems(item, inventory[key]); } } else { if (weaponBlueprints) { addNumItems(item, inventory[key]); } } } else if (EngineItem.isEngineType(item.getType())) { if (item.getTier() < 4) { if (engines) { addNumItems(item, inventory[key]); } } else { if (engineBlueprints) { addNumItems(item, inventory[key]); } } } } }
// used for indexing item quantities public static int itemToInt(ItemAbstract item) { if (WeaponItem.isWeaponType(item.getType())) { WeaponItem itemW = (WeaponItem)item; if (itemW.type == WeaponItem.WeaponType.Error) { return(0); } return((6 * (int)itemW.type) - 5 + itemW.tier); } else if (EngineItem.isEngineType(item.getType())) { EngineItem itemE = (EngineItem)item; if (itemE.type == EngineItem.EngineType.Error) { return(0); } return((6 * (int)itemE.type) - 5 + itemE.tier + WeaponItem.numWeaponTypes); } return(0); }
public void applyBuff(ItemAbstract item) { if (!EngineItem.isEngineType(item.getType())) { return; } EngineItem itemE = (EngineItem)item; switch (itemE.type) { case EngineItem.EngineType.Spinjet: break; case EngineItem.EngineType.Standard: break; case EngineItem.EngineType.Thruster: break; } //process item }
// Use this for initialization void Start() { //Camera camera = Camera.main; //camera.orthographicSize = 640 / Screen.width * Screen.height / 2; if (shipName == "") { shipName = ShipDefinitions.generateName(); } GameObject parent = GameObject.Find("GameLogic").GetComponent <PrefabHost>().getEmptyObject(); this.health = GameObject.Find("GameLogic").GetComponent <PrefabHost>().getHealthObject(); this.ammo = GameObject.Find("GameLogic").GetComponent <PrefabHost>().getAmmoObject(); this.text = GameObject.Find("GameLogic").GetComponent <PrefabHost>().getLabelObject(); health.transform.SetParent(parent.transform); ammo.transform.SetParent(parent.transform); text.transform.SetParent(parent.transform); transform.SetParent(parent.transform); text.GetComponent <ShipLabel>().setText(shipName); health.GetComponent <HealthBar>().setTarget(gameObject); ammo.GetComponent <AmmoBar>().setTarget(gameObject); text.GetComponent <ShipLabel>().setTarget(gameObject); if (inventory == null) { inventory = new List <ItemAbstract>(); } GameObject engineObj; if (engType == ShipDefinitions.EngineType.Engine1) { engineObj = GameObject.Find("GameLogic").GetComponent <PrefabHost>() .getEngineLvl1Object(); } else { engineObj = GameObject.Find("GameLogic").GetComponent <PrefabHost>() .getEngineLvl2Object(); } engineObj.transform.parent = gameObject.transform; engineObj.transform.position = gameObject.transform.position; engineObj.transform.localScale = new Vector3(1.5f, 1.5f, 0); engine = engineObj.GetComponent <EngineModule>(); switch (weapType) { case ShipDefinitions.WeaponType.Crown: weapon = gameObject.AddComponent <CrownMod>(); break; case ShipDefinitions.WeaponType.Laser: weapon = gameObject.AddComponent <PewPewLaserMod>(); break; case ShipDefinitions.WeaponType.Missile: weapon = gameObject.AddComponent <MissileMod>(); break; case ShipDefinitions.WeaponType.Flame: weapon = gameObject.AddComponent <FlameMod>(); break; default: weapon = gameObject.AddComponent <DummyFiringMod>(); break; } foreach (ItemAbstract item in inventory) { if (WeaponItem.isWeaponType(item.getType())) { weapon.applyBuff(item); } else if (EngineItem.isEngineType(item.getType())) { engine.applyBuff(item); } } ShipDefinitions.Faction faction = ShipDefinitions.stringToFaction(gameObject.tag); if (faction == ShipDefinitions.Faction.Enemy) { if (shipType == ShipDefinitions.ShipType.Ruby) { SpriteRenderer spr = gameObject.GetComponent <SpriteRenderer>(); if (spr == null) { spr = gameObject.AddComponent <SpriteRenderer>(); } spr.sprite = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipRubyPirateSprite; gameObject.AddComponent <Animator>().runtimeAnimatorController = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipRubyPirateAnimator; } else { SpriteRenderer spr = gameObject.GetComponent <SpriteRenderer>(); if (spr == null) { spr = gameObject.AddComponent <SpriteRenderer>(); } spr.sprite = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipPeacockPirateSprite; gameObject.AddComponent <Animator>().runtimeAnimatorController = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipPeacockPirateAnimator; } } else { if (shipType == ShipDefinitions.ShipType.Ruby) { SpriteRenderer spr = gameObject.GetComponent <SpriteRenderer>(); if (spr == null) { spr = gameObject.AddComponent <SpriteRenderer>(); } spr.sprite = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipRubySprite; gameObject.AddComponent <Animator>().runtimeAnimatorController = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipRubyAnimator; } else { SpriteRenderer spr = gameObject.GetComponent <SpriteRenderer>(); if (spr == null) { spr = gameObject.AddComponent <SpriteRenderer>(); } spr.sprite = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipPeacockSprite; gameObject.AddComponent <Animator>().runtimeAnimatorController = GameObject.Find("GameLogic").GetComponent <PrefabHost>(). shipPeacockAnimator; } } gameObject.AddComponent <BoxCollider2D>(); gameObject.GetComponent <BoxCollider2D>().isTrigger = true; //string id = shipName.Substring(shipName.Length - 4); parent.name = "Parent-" + shipName; gameObject.name = "Ship-" + shipName; health.name = "Health-" + shipName; ammo.name = "Ammo-" + shipName; text.name = "Text-" + shipName; initialized = true; }
// getImage will return the appropriate icon for a given item public Sprite getImage(ItemAbstract item) { Sprite img = defaultSprite; if (WeaponItem.isWeaponType(item.getType())) { WeaponItem itemW = (WeaponItem)item; if (itemW.type == WeaponItem.WeaponType.FlameModAmmoCap || itemW.type == WeaponItem.WeaponType.FlameModDamage || itemW.type == WeaponItem.WeaponType.FlameModFireRate || itemW.type == WeaponItem.WeaponType.FlameModRange || itemW.type == WeaponItem.WeaponType.FlameModRechargeRate || itemW.type == WeaponItem.WeaponType.FlameModSpeed || itemW.type == WeaponItem.WeaponType.FlameModSpread || itemW.type == WeaponItem.WeaponType.FlameModFireRate || itemW.type == WeaponItem.WeaponType.FlameModRange || itemW.type == WeaponItem.WeaponType.FlameModRechargeRate || itemW.type == WeaponItem.WeaponType.FlameModSpeed || itemW.type == WeaponItem.WeaponType.FlameModSpread) { switch (itemW.tier) { case 1: img = fireSpriteLvl1; break; case 2: img = fireSpriteLvl2; break; case 3: img = fireSpriteLvl3; break; case 4: img = blueprintFireSpriteLvl1; break; case 5: img = blueprintFireSpriteLvl2; break; case 6: img = blueprintFireSpriteLvl3; break; } } else if (itemW.type == WeaponItem.WeaponType.LaserModAmmoCap || itemW.type == WeaponItem.WeaponType.LaserModDamage || itemW.type == WeaponItem.WeaponType.LaserModFireRate || itemW.type == WeaponItem.WeaponType.LaserModRange || itemW.type == WeaponItem.WeaponType.LaserModRechargeRate || itemW.type == WeaponItem.WeaponType.LaserModSpeed) { switch (itemW.tier) { case 1: img = laserSpriteLvl1; break; case 2: img = laserSpriteLvl2; break; case 3: img = laserSpriteLvl3; break; case 4: img = blueprintLaserSpriteLvl1; break; case 5: img = blueprintLaserSpriteLvl2; break; case 6: img = blueprintLaserSpriteLvl3; break; } } else if (itemW.type == WeaponItem.WeaponType.CrownModAmmoCap || itemW.type == WeaponItem.WeaponType.CrownModDamage || itemW.type == WeaponItem.WeaponType.CrownModRange || itemW.type == WeaponItem.WeaponType.CrownModRechargeRate) { switch (itemW.tier) { case 1: img = crownSpriteLvl1; break; case 2: img = crownSpriteLvl2; break; case 3: img = crownSpriteLvl3; break; case 4: img = blueprintCrownSpriteLvl1; break; case 5: img = blueprintCrownSpriteLvl2; break; case 6: img = blueprintCrownSpriteLvl3; break; } } else if (itemW.type == WeaponItem.WeaponType.MissileModAmmoCap || itemW.type == WeaponItem.WeaponType.MissileModDamage || itemW.type == WeaponItem.WeaponType.MissileModFireRate || itemW.type == WeaponItem.WeaponType.MissileModRange || itemW.type == WeaponItem.WeaponType.MissileModRechargeRate || itemW.type == WeaponItem.WeaponType.MissileModSpeed) { switch (itemW.tier) { case 1: img = missileSpriteLvl1; break; case 2: img = missileSpriteLvl2; break; case 3: img = missileSpriteLvl3; break; case 4: img = blueprintMissileSpriteLvl1; break; case 5: img = blueprintMissileSpriteLvl2; break; case 6: img = blueprintMissileSpriteLvl3; break; } } else { img = defaultSprite; } } else if (EngineItem.isEngineType(item.getType())) { EngineItem itemE = (EngineItem)item; if (itemE.type == EngineItem.EngineType.Standard) { switch (itemE.tier) { case 1: img = engineStandardLvl1; break; case 2: img = engineStandardLvl2; break; case 3: img = engineStandardLvl3; break; case 4: img = blueprintEngineStandardLvl1; break; case 5: img = blueprintEngineStandardLvl2; break; case 6: img = blueprintEngineStandardLvl3; break; } } else if (itemE.type == EngineItem.EngineType.Spinjet) { switch (itemE.tier) { case 1: img = engineSpinjetLvl1; break; case 2: img = engineSpinjetLvl2; break; case 3: img = engineSpinjetLvl3; break; case 4: img = blueprintEngineSpinjetLvl1; break; case 5: img = blueprintEngineSpinjetLvl2; break; case 6: img = blueprintEngineSpinjetLvl3; break; } } else if (itemE.type == EngineItem.EngineType.Thruster) { switch (itemE.tier) { case 1: img = engineThrusterLvl1; break; case 2: img = engineThrusterLvl2; break; case 3: img = engineThrusterLvl3; break; case 4: img = blueprintEngineThrusterLvl1; break; case 5: img = blueprintEngineThrusterLvl2; break; case 6: img = blueprintEngineThrusterLvl3; break; } } } return(img); }