Пример #1
0
 public Grid()
 {
     GridBlocks            = new GridBlockCollection(true);
     GridObjects           = new GridObjectCollection();
     GridObjectDefinitions = new GridObjectDefinitionCollection();
     Thins    = new ThinCollection();
     Tiles    = new TileCollection(true);
     Triggers = new TriggerCollection(true);
     Pools    = new PoolCollection();
 }
Пример #2
0
        public Grid(Grid grid)
        {
            GridBlocks = grid.GridBlocks;
            Thins      = grid.Thins;
            Tiles      = grid.Tiles;
            Triggers   = new TriggerCollection(false);

            foreach (Trigger t in grid.Triggers)
            {
                Trigger nTrigger = new Trigger
                {
                    Duration          = null,
                    Cooldown          = new Interval(2000, false),
                    Enabled           = t.Enabled,
                    EndAngle          = t.EndAngle,
                    InitialState      = t.InitialState,
                    IsFromValhalla    = t.IsFromValhalla,
                    MaxAngleRate      = t.MaxAngleRate,
                    MaxRate           = t.MaxRate,
                    MoveCeiling       = t.MoveCeiling,
                    MoveFloor         = t.MoveFloor,
                    MoveRooftop       = t.MoveRooftop,
                    NextTrigger       = t.NextTrigger,
                    NextTriggerTiming = t.NextTriggerTiming,
                    OffHeight         = t.OffHeight,
                    OffSound          = t.OffSound,
                    OffText           = t.OffText,
                    OnHeight          = t.OnHeight,
                    OnSound           = t.OnSound,
                    OnText            = t.OnText,
                    Position          = new Vector3(t.Position.X, t.Position.Y, t.Position.X),
                    Random            = t.Random,
                    ResetTimer        = t.ResetTimer,
                    SlideAmount       = t.SlideAmount,
                    SlideAxis         = t.SlideAxis,
                    Speed             = t.Speed,
                    StartAngle        = t.StartAngle,
                    CurrentState      = TriggerState.Inactive,
                    Team        = t.Team,
                    TextureOff  = t.TextureOff,
                    TextureOn   = t.TextureOn,
                    TriggerId   = t.TriggerId,
                    TriggerType = t.TriggerType,
                    X0          = t.X0,
                    X1          = t.X1,
                    X2          = t.X2,
                    X3          = t.X3,
                    X4          = t.X4,
                    Y0          = t.Y0,
                    Y1          = t.Y1,
                    Y2          = t.Y2,
                    Y3          = t.Y3,
                    Y4          = t.Y4
                };

                Triggers.Add(nTrigger);
            }

            BalanceShrine = new Shrine(grid.BalanceShrine.Team, grid.BalanceShrine.ShrineId, grid.BalanceShrine.Power, grid.BalanceShrine.CurrentBias);
            ChaosShrine   = new Shrine(grid.ChaosShrine.Team, grid.ChaosShrine.ShrineId, grid.ChaosShrine.Power, grid.ChaosShrine.CurrentBias);
            OrderShrine   = new Shrine(grid.OrderShrine.Team, grid.OrderShrine.ShrineId, grid.OrderShrine.Power, grid.OrderShrine.CurrentBias);

            GameName     = grid.GameName;
            GridFilename = grid.GridFilename;
            GridId       = grid.GridId;
            MaxPlayers   = grid.MaxPlayers;
            MiscFilename = grid.MiscFilename;
            Name         = grid.Name;

            Pools = new PoolCollection();
            foreach (Pool p in grid.Pools)
            {
                Pools.Add(new Pool(p));
            }

            ShortGameName   = grid.ShortGameName;
            TimeLimit       = grid.TimeLimit;
            TriggerFilename = grid.TriggerFilename;
            WorldFilename   = grid.WorldFilename;
            ExpBonus        = grid.ExpBonus;
        }