public static Structure create(Structure_Type_e type, Team team_, iTile tile) { Structure st; switch(type) { case Structure_Type_e.SNOWMAN: st = new Snowman(team_, tile); break; case Structure_Type_e.FORT: st = new Fort(team_, tile); break; case Structure_Type_e.SNOW_FACTORY: st = new Snow_Factory(team_, tile); break; case Structure_Type_e.HEALING_POOL: st = new Healing_Pool(team_, tile); break; /* case Structure_Type_e.TREE: st = new Tree(team_, tile ); break; case Structure_Type_e.BASE: st = new Base(team_, tile); break; */ default: throw new Exception("Invalid Structure Type"); } tile.build_structure(st, team_); GM_Proxy.Instance.add_structure(st); return st; }
public void build_structure(Structure_Type_e type) { //My state if we add it... try { iTile build_on = GM_Proxy.Instance.get_World().get_Tile(center); // team.tile_is_ready Structure.create(type, my_team, build_on); // decrease resourses // increment stats } catch (Exception) { // add message that you cant build and why } }