public Snow_Factory(Team team, iTile tile_) : base(team, tile_) { produce_snow(); // animation_state = new Present_wrapped(); }
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 Snowman(Team team, iTile tile_) : base(team, tile_) { // animation_state = new Present_wrapped(); left = true; left_launch = center - new Vector3(50, 0,0); right_launch = center + new Vector3(50, 0,0); // targeting_delay.start(); // reload_time.start(); }
protected Structure(Team team, iTile tile_, float radius = 100.0f) : base(tile_.get_structure_base() + new Vector3(0, 250, 0), new Vector3(1, 1, 1) * radius) { owner = team; health = get_integrity(); Status = Structure_State_e.PRESENT_MODE; Connected_to_Team = true; tile_on = tile_; opened = false; default_position = center; default_size = new Vector3(1,1,1)*radius; default_radius = radius; create_body(); save_height = tile_on.get_height(); Present_Clock.Start(); }
public Fort(Team team_, iTile tile_) : base(team_, tile_) { // animation_state = new Present_wrapped(); }
public bool is_adjacent(iTile A, iTile B) { int row_A = A.get_row(); int row_B = B.get_row(); int col_A = A.get_col(); int col_B = B.get_col(); if (Math.Abs(row_A - row_B) > 1 || Math.Abs(col_A - col_B) > 1) return false; if (row_A % 2 == 0) { if (col_B - col_A == 1) return false; } if (row_A % 2 == 1) { if (col_A - col_B == 1) return false; } return true; }
/* tobe re-implemented */ public List<iTile> Get_Family(iTile Central) { List<iTile> ret = new List<iTile>(); return ret; }
/* haven't tested.. should be working.. */ public List<iTile> Get_Family(iTile Central) { List<iTile> ret = new List<iTile>(); if(Central.get_col() != 0) ret.Add(map[Central.get_row()][Central.get_col() - 1]); if(Central.get_col() != map_width - 1) ret.Add(map[Central.get_row()][Central.get_col() + 1]); if(Central.get_row() % 2 == 0){ if(Central.get_row() == 0){ if(Central.get_col() == 0){ ret.Add(map[Central.get_row() + 1][Central.get_col()]); } else{ ret.Add(map[Central.get_row() + 1][Central.get_col()]); ret.Add(map[Central.get_row() + 1][Central.get_col() - 1]); } } else if(Central.get_row() == map_height - 1){ if(Central.get_col() == 0){ ret.Add(map[Central.get_row() - 1][Central.get_col()]); } else{ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() - 1][Central.get_col() - 1]); } } else{ if(Central.get_col() == 0){ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() + 1][Central.get_col()]); } else{ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() - 1][Central.get_col() - 1]); ret.Add(map[Central.get_row() + 1][Central.get_col()]); ret.Add(map[Central.get_row() + 1][Central.get_col() - 1]); } } } else{ if(Central.get_row() == map_height - 1){ if(Central.get_col() == map_width - 1){ ret.Add(map[Central.get_row() - 1][Central.get_col()]); } else{ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() - 1][Central.get_col() + 1]); } } else{ if(Central.get_col() == map_width - 1){ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() + 1][Central.get_col()]); } else{ ret.Add(map[Central.get_row() - 1][Central.get_col()]); ret.Add(map[Central.get_row() - 1][Central.get_col() + 1]); ret.Add(map[Central.get_row() + 1][Central.get_col()]); ret.Add(map[Central.get_row() + 1][Central.get_col() + 1]); } } } return ret; }
public Base(Team team, iTile tile_) : base(team, tile_) { Status = Structure_State_e.BUILT; }
public Healing_Pool(Team team, iTile tile_) : base(team, tile_) { // animation_state = new Present_wrapped(); }
// JK. this does nothing public Catapult(Team team, iTile tile_) : base(team, tile_) { }
public void add_tile(iTile tile) { }
private int resources; // #endregion Fields #region Constructors public Team(Team_Color_e color_, iTile BaseTile = null) { Team_Color = color_; Base = BaseTile; }
public void remove_tile(iTile tile) { }