Example #1
0
        public Snow_Factory(Team team, iTile tile_)
            : base(team, tile_)
        {
            produce_snow();

            //		animation_state = new Present_wrapped();
        }
Example #2
0
        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;
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }
Example #5
0
 public Fort(Team team_, iTile tile_)
     : base(team_, tile_)
 {
     //			animation_state = new Present_wrapped();
 }
Example #6
0
        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;
        }
Example #7
0
        /* tobe re-implemented */
        public List<iTile> Get_Family(iTile Central)
        {
            List<iTile> ret = new List<iTile>();

            return ret;
        }
Example #8
0
        /* 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;
        }
Example #9
0
 public Base(Team team, iTile tile_)
     : base(team, tile_)
 {
     Status = Structure_State_e.BUILT;
 }
Example #10
0
 public Healing_Pool(Team team, iTile tile_)
     : base(team, tile_)
 {
     //		animation_state = new Present_wrapped();
 }
Example #11
0
 // JK.  this does nothing
 public Catapult(Team team, iTile tile_)
     : base(team, tile_)
 {
 }
Example #12
0
 public void add_tile(iTile tile)
 {
 }
Example #13
0
        private int resources; //

        #endregion Fields

        #region Constructors

        public Team(Team_Color_e color_, iTile BaseTile = null)
        {
            Team_Color = color_;
            Base = BaseTile;
        }
Example #14
0
 public void remove_tile(iTile tile)
 {
 }