public void SpawnCrate() { CrateType crateType = (CrateType)Random.Range(1, DatabaseManager.Instance.Db.ListCrate.Count + 1); float posXrand = spawnArea.transform.position.x + Random.Range(-spawnArea.size.x / 2.0f, spawnArea.size.x / 2.0f); DatabaseManager.Instance.SpawnCrate(crateType, new Vector2(posXrand, spawnArea.transform.position.y)); }
public DerelictCargo() : base() { Name = "derelict cargo (common)"; ItemID = Utility.RandomList(4014, 2473, 3703, 3715, 3711, 3645, 3644, 3647, 3648, 2475, 3710, 7808, 7809); double typeChance = Utility.RandomDouble(); Hue = 1039; if (typeChance >= .80 && typeChance < .98) { m_CrateType = CrateType.Silver; Hue = 2500; Name = "derelict cargo (valuable)"; } if (typeChance >= .98) { m_CrateType = CrateType.Gold; Hue = 2213; Name = "derelict cargo (rare)"; } Timer.DelayCall(TimeSpan.Zero, new TimerCallback(AddComponents)); }
private void Start() { switch (type) { case CType.Standard: crate = new StandardCrate(); break; case CType.Bounce: crate = new BounceCrate(); break; case CType.Arrow: crate = new ArrowCrate(); break; case CType.MetalArrow: crate = new MetalArrowCrate(); break; case CType.Life: crate = new LifeCrate(); break; } }
void Start() { var random = new System.Random(); _crateType = (CrateType)random.Next(Enum.GetValues(typeof(CrateType)).Cast <int>().Max() - 2); _quantity = (int)_crateType < 5 ? random.Next(10, 30) : 0; }
public void SpawnCrate(CrateType typeCrate, Vector2 startPos) { GameObject crate = Instantiate(db.ListCrate[(int)typeCrate - 1].prefab); CrateComponent crateComponent = crate.GetComponent <CrateComponent>(); crateComponent.CrateType = typeCrate; crate.transform.position = startPos; }
/// <summary> /// Creates a new crate instance /// </summary> /// <param name="game">The game this crate belongs to</param> /// <param name="type">The type of crate to use</param> /// <param name="world">The position and orientation of the crate in the world</param> public Crate(Game game, CrateType type, Matrix world) { this.game = game; this.texture = game.Content.Load <Texture2D>($"crate{(int)type}_diffuse"); InitializeVertices(); InitializeIndices(); InitializeEffect(); effect.World = world; }
// Use this for initialization void Start() { mesh = GetComponent <MeshRenderer>(); if (randomType) { int numOfTypes = System.Enum.GetNames(typeof(CrateType)).Length; type = (CrateType)Random.Range(0, numOfTypes - 1); } mesh.material.mainTexture = GetCrateTexture(type); }
public Texture2D GetCrateTexture(CrateType type) { switch (type) { case CrateType.Type_1: return(crateTextures[0]); case CrateType.Type_2: return(crateTextures[1]); case CrateType.Type_3: return(crateTextures[2]); } return(null); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); //Version 0 m_CrateType = (CrateType)reader.ReadInt(); m_HitPoints = reader.ReadInt(); int itemsCount = reader.ReadInt(); for (int i = 0; i < itemsCount; ++i) { m_Items.Add(reader.ReadItem()); } }
private static void InstantiateCrate(XmlNode objectNode, Dictionary <int, XmlNode> dictProperties, ref Dictionary <BorderCrate, int> borderCrates, ref Dictionary <int, TriggerIronCrate> triggerCrates, ref Dictionary <int, TriggerNitroCrate> triggerNitros, ref List <ICheckpointLoadable> objectLoadable, ref List <CheckpointCrate> checkpoints) { string xString = objectNode.Attributes["x"].Value; float xPos = float.Parse(xString, System.Globalization.CultureInfo.InvariantCulture); string yString = objectNode.Attributes["y"].Value; float yPos = float.Parse(yString, System.Globalization.CultureInfo.InvariantCulture); Vector2 pos = new Vector2(xPos + (int.Parse(objectNode.Attributes["width"].Value) / 2), yPos - (int.Parse(objectNode.Attributes["height"].Value) / 2)); int globalIdCrate = int.Parse(objectNode.Attributes["gid"].Value) - 1; XmlNode properties = dictProperties[globalIdCrate]; XmlNodeList childList = properties.ChildNodes; XmlNode propertyCrate = SearchNodeWithAttribute(ref childList, "name", "crateType"); CrateType type = (CrateType)int.Parse(propertyCrate.Attributes["value"].Value); Crate c = null; switch (type) { case CrateType.Apple: c = new AppleCrate(pos); break; case CrateType.Random: c = new RandomCrate(pos); break; case CrateType.Life: c = new LifeCrate(pos); break; case CrateType.Aku: c = new AkuAkuCrate(pos); break; case CrateType.Bounce_Apple: c = new AppleBounceCrate(pos); break; case CrateType.Bounce_Wooden: c = new WoodenBounceCrate(pos); break; case CrateType.Bounce_Iron: c = new IronBounceCrate(pos); break; case CrateType.Iron: c = new IronCrate(pos); break; case CrateType.Trigger_Iron: c = new TriggerIronCrate(pos); XmlNode idCrate = objectNode.FirstChild.LastChild; int id = int.Parse(idCrate.Attributes["value"].Value); triggerCrates.Add(id, (TriggerIronCrate)c); break; case CrateType.Tnt: c = new TntCrate(pos); break; case CrateType.Nitro: c = new NitroCrate(pos); if (objectNode.HasChildNodes) { XmlNodeList list = objectNode.FirstChild.ChildNodes; XmlNode node = SearchNodeWithAttribute(ref list, "name", "vTriggerNitroId"); if (node != null) { int idN = int.Parse(node.Attributes["value"].Value); if (idN > 0) { triggerNitros[idN].AddNitroCrate((NitroCrate)c); } } } break; case CrateType.Border_Crate: XmlNode borderTypeNode = objectNode.FirstChild.FirstChild; CrateType borderType; if (borderTypeNode.Attributes["name"].Value.Equals("borderCrate")) { borderType = (CrateType)int.Parse(borderTypeNode.Attributes["value"].Value); } else { borderType = CrateType.Iron; } BorderCrate b = new BorderCrate(pos, borderType); borderCrates.Add(b, int.Parse(objectNode.FirstChild.LastChild.Attributes["value"].Value)); objectLoadable.Add(b); return; case CrateType.Trigger_Iron_Nitro: c = new TriggerNitroCrate(pos); XmlNode idNitroCrate = objectNode.FirstChild.LastChild; int idTrigger = int.Parse(idNitroCrate.Attributes["value"].Value); triggerNitros.Add(idTrigger, (TriggerNitroCrate)c); break; case CrateType.Checkpoint_Crate: checkpoints.Add(new CheckpointCrate(pos)); return; } if (c != null) { objectLoadable.Add(c); } //if (c != null && objectNode.HasChildNodes) //{ // if (objectNode.FirstChild.FirstChild.Attributes["name"].Value == "useGravity") // c.UseGroundableGravity = bool.Parse(objectNode.FirstChild.FirstChild.Attributes["value"].Value); //} }
/// <summary> /// Builds the crate /// </summary> public void Build() { int random = GameWorld.Instance.Rnd.Next(6); switch (random) { case 1: type = CrateType.TowerCrate; break; case 2: type = CrateType.WeaponCrate; break; case 3: type = CrateType.WeaponCrate; break; case 4: type = CrateType.MoneyCrate; break; case 5: type = CrateType.MoneyCrate; break; default: type = CrateType.HealthCrate; break; } go = new GameObject(); go.Transform.Position = new Vector2(GameWorld.Instance.Rnd.Next(Constant.width), GameWorld.Instance.Rnd.Next(Constant.hight)); switch (type) { case CrateType.WeaponCrate: go.AddComponent(new SpriteRenderer(go, Constant.GunCrateSpriteSheet, 0.2f)); go.AddComponent(new WeaponCrate(go)); break; case CrateType.TowerCrate: go.AddComponent(new SpriteRenderer(go, Constant.TowerCrateSpriteSheet, 0.2f)); go.AddComponent(new TowerCrate(go)); break; case CrateType.MoneyCrate: go.AddComponent(new SpriteRenderer(go, Constant.MoneyCrateSpriteSheet, 0.2f)); go.AddComponent(new MoneyCrate(go)); break; case CrateType.HealthCrate: go.AddComponent(new SpriteRenderer(go, Constant.HealthCrateSpriteSheet, 0.2f)); go.AddComponent(new HealthCrate(go)); break; default: break; } go.AddComponent(new Collider(go, Alignment.Neutral)); go.AddComponent(new Animator(go)); }
public BorderCrate(Vector2 position, CrateType type) : base(position, "borderCrate", DrawManager.Layer.Playground) { Crate c = null; switch (type) { case CrateType.Apple: c = new AppleCrate(position); break; case CrateType.Random: c = new RandomCrate(position); break; case CrateType.Life: c = new LifeCrate(position); break; case CrateType.Aku: c = new AkuAkuCrate(position); break; case CrateType.Bounce_Apple: c = new AppleBounceCrate(position); break; case CrateType.Bounce_Wooden: c = new WoodenBounceCrate(position); break; case CrateType.Bounce_Iron: c = new IronBounceCrate(position); break; case CrateType.Iron: c = new IronCrate(position); break; case CrateType.Trigger_Iron: c = new TriggerIronCrate(position); break; case CrateType.Tnt: c = new TntCrate(position); break; case CrateType.Nitro: c = new NitroCrate(position); break; default: c = new IronCrate(position); break; } Crate = c; clipTriggered = AudioManager.GetAudioClip("crateTriggered"); crateTriggered = false; timeToTriggered = TIME_TO_TRIGGER_CRATE; PhysicsManager.RemoveItem(RigidBody); RigidBody = null; }
public Crate(GameObject _prefab, CrateType _type) { prefab = _prefab; crateType = _type; }