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); }
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."); }
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; }