Example #1
0
    void Start()
    {
        //Create all shapes
        var tShape = new PlaneTemplate(new Vector3(0, 0, 0));

        tShape.AddTile(new Vector3(0f, 0.5f, 0.5f));
        tShape.AddTile(new Vector3(0f, 0.5f, 1.5f));
        tShape.AddTile(new Vector3(0f, 0.5f, 2.5f));
        tShape.AddTile(new Vector3(0f, 1.5f, 1.5f));
        cutoutShapes.Add(tShape);

        var lShape = new PlaneTemplate(new Vector3(0, 0, 0));

        lShape.AddTile(new Vector3(0f, 2.5f, 0.5f));
        lShape.AddTile(new Vector3(0f, 1.5f, 0.5f));
        lShape.AddTile(new Vector3(0f, 0.5f, 0.5f));
        lShape.AddTile(new Vector3(0f, 0.5f, 1.5f));
        cutoutShapes.Add(lShape);

        var boxShape = new PlaneTemplate(new Vector3(0, 0, 0));

        boxShape.AddTile(new Vector3(0f, 0.5f, 0.5f));
        boxShape.AddTile(new Vector3(0f, 1.5f, 0.5f));
        boxShape.AddTile(new Vector3(0f, 0.5f, 1.5f));
        boxShape.AddTile(new Vector3(0f, 1.5f, 1.5f));
        cutoutShapes.Add(boxShape);

        var zShape = new PlaneTemplate(new Vector3(0, 0, 0));

        zShape.AddTile(new Vector3(0f, 0.5f, 0.5f));
        zShape.AddTile(new Vector3(0f, 1.5f, 0.5f));
        zShape.AddTile(new Vector3(0f, 1.5f, 1.5f));
        zShape.AddTile(new Vector3(0f, 2.5f, 1.5f));
        cutoutShapes.Add(zShape);
    }
Example #2
0
	private void LoadPlaneClasses()
	{
		string name;
		foreach(int Class in Enum.GetValues(typeof(PlaneTemplates)))
		{
			name = Enum.GetName(typeof(PlaneTemplates),Class);
			XmlDocument doc = new XmlDocument();
			doc.LoadXml(((TextAsset) Resources.Load("xml/planes/"+name)).text);
			foreach(XmlNode x in doc.ChildNodes)
			{
				if(x.Name=="plane")
				{
					PlaneTemplate p = new PlaneTemplate();
					foreach(XmlNode m in x.Attributes)
					{
						if(m.Name=="id")
							p.id=int.Parse(m.Value);
						else if(m.Name=="hp")
							p.hp=int.Parse(m.Value);
						else if(m.Name=="upperSmooth")
							p.upperSmooth=float.Parse(m.Value);
						else if(m.Name=="lowerSmooth")
							p.lowerSmooth=float.Parse(m.Value);
						else if(m.Name=="classname")
							p.classname=m.Value;
						else if(m.Name=="minRange")
							p.minRange=float.Parse(m.Value);
						else if(m.Name=="maxRange")
							p.maxRange=float.Parse(m.Value);
						else if(m.Name=="maxTurnAngle")
							p.maxTurnAngle=float.Parse(m.Value);
						else if(m.Name=="description")
							p.description=m.Value;
						else if(m.Name=="weapon")
							p.weapons=int.Parse(m.Value);
						else if(m.Name=="armor")
							p.armor=int.Parse(m.Value);
						else if(m.Name=="speed")
							p.speed=int.Parse(m.Value);
						else if(m.Name=="maneuverability")
							p.maneuverability=int.Parse(m.Value);
						else if(m.Name=="lauchPos")
							p.launchPos.Set(float.Parse(m.Value.Split(',')[0]),float.Parse(m.Value.Split(',')[1]));
										
					}
					
					foreach(XmlNode m in x.ChildNodes)
					{
						if(m.Name=="gun")
						{
							GunOnShuttle gos = new GunOnShuttle();
							foreach(XmlNode l in m.Attributes)
							{
								if(l.Name=="id")
									gos.gunId=int.Parse(l.Value);
								else if(l.Name=="pos")
								{
									float xx,yy;
									xx=float.Parse(l.Value.Split(',')[0]);
									yy=float.Parse(l.Value.Split(',')[1]);
									gos.pos=new Vector2(xx,yy);
								}
								else if(l.Name=="turnAngle")
									gos.turnAngle=float.Parse(l.Value);
							}
							p.guns.Add(gos);
						}
						else if(m.Name=="ability")
						{
							int id=-1;
							foreach(XmlNode l in m.Attributes)
							{
								if(l.Name=="id")
									id=int.Parse(l.Value);
							}
							p.abilities.Add(id);
						}
					}
					planeClasses.Add(p);
				}
			}
		}
		Debug.Log("Loaded: "+planeClasses.Count+" plane classes.");
	}
Example #3
0
	public PlaneTemplate getPlaneTemplate(int id)
	{
		foreach(PlaneTemplate p in planeClasses)
		{
			if(p.id==(int)id)
			{
				PlaneTemplate t = new PlaneTemplate();
				t.classname=p.classname;
				t.description=p.description;
				t.hp=p.hp;
				t.id=p.id;
				t.maxRange=p.maxRange;
				t.lowerSmooth=p.lowerSmooth;
				t.upperSmooth=p.upperSmooth;
				t.maxTurnAngle=p.maxTurnAngle;
				t.minRange=p.minRange;
				t.weapons=p.weapons;
				t.armor=p.armor;
				t.speed=p.speed;
				t.maneuverability=p.maneuverability;
				t.launchPos=p.launchPos;
				foreach(GunOnShuttle f in p.guns)
				{
					GunOnShuttle z = new GunOnShuttle();
					z.gunId=f.gunId;
					z.pos=f.pos;
					z.turnAngle=f.turnAngle;
					t.guns.Add(z);
				}
				
//				foreach(int abilId in p.abilities)
//					t.abilities.Add(abilId);
				return t;
			}
		}
		return null;
	}