Ejemplo n.º 1
0
		/// <summary>
		/// Creates a new instance using the specified start and end points.
		/// </summary>
		/// <param name="minimum">The starting point of the interpolated series.</param>
		/// <param name="maximum">The ending point of the interpolated series.</param>
		/// <param name="count">The number of points to calculate between the start and end.</param>
		/// <remarks>This constructor provides a way to define the bounds of the interpolator,
		/// as well as its number of points.  A higher level of points yield a smoother
		/// result but take longer to iterate through.</remarks>
		////[CLSCompliant(false)]
		public Interpolator2D(Position minimum, Position maximum, int count)
		{
			Count = count;
			_Minimum = minimum;
			_Maximum = maximum;
			Recalculate();
		}
Ejemplo n.º 2
0
 public SubSuperBase(EquationRow parent, Position position)
     : base(parent)
 {
     ApplySymbolGap = false;
     SubLevel++;
     Position = position;
 }
        public override string SeDeplacer(Personnage p, Position z)
        {
            p.Position = z;
            p.PointsDeVie = p.PointsDeVie - 1;

            return string.Format("Je suis en zone {0}-{1}", p.Position.X, p.Position.Y);
        }
Ejemplo n.º 4
0
        public override IList<Chunk> GetChunks(VisitorContext context, string path)
        {
            context.SyntaxProvider = this;
            context.ViewPath = path;

            var sourceContext = CreateSourceContext(context.ViewPath, context.ViewFolder);
            var position = new Position(sourceContext);

            var result = _grammar.Nodes(position);
            if (result.Rest.PotentialLength() != 0)
            {
                ThrowParseException(context.ViewPath, position, result.Rest);
            }

            context.Paint = result.Rest.GetPaint();

            var nodes = result.Value;
            foreach (var visitor in BuildNodeVisitors(context))
            {
                visitor.Accept(nodes);
                nodes = visitor.Nodes;
            }

            var chunkBuilder = new ChunkBuilderVisitor(context);
            chunkBuilder.Accept(nodes);
            return chunkBuilder.Chunks;
        }
Ejemplo n.º 5
0
        protected override void TickCore(Entity host, RealmTime time, ref object state)
        {
            int cool = (int) state;

            if (cool <= 0)
            {
                if (host.HasConditionEffect(ConditionEffectIndex.Stunned)) return;

                Position target = new Position
                {
                    X = host.X + (float) (range*Math.Cos(angle.Value)),
                    Y = host.Y + (float) (range*Math.Sin(angle.Value)),
                };
                host.Owner.Timers.Add(new WorldTimer(0, (world, t) =>
                {
                    Entity entity = Entity.Resolve(world.Manager, child);
                    entity.Move(target.X, target.Y);
                    (entity as Enemy).Terrain = (host as Enemy).Terrain;
                    world.EnterWorld(entity);
                }));
                cool = coolDown.Next(Random);
            }
            else
                cool -= time.thisTickTimes;

            state = cool;
        }
Ejemplo n.º 6
0
    public void Init(Position pos, int width, int height)
    {
        SetPos(pos);
        Width = width;
        Height = height;

        //Min = new Position(_Pos.x - Width / 2, _Pos.y - Height / 2);
        //Max = new Position(Min.x + width, Min.y + height);

        _TileStateArr = new TileState[width, height];

        for (int x = 0; x < width; ++x)
        {
            for (int y = 0; y < height; ++y)
            {
                if(x == 0 || y == 0 || x == width - 1 || y == height - 1)
                {
                    _TileStateArr[x, y] = TileState.WALL;
                }
                else
                {
                    _TileStateArr[x, y] = TileState.GROUND;
                }
            }
        }

        CachedBoxCollider.size = new Vector2(width + 2, height + 2);
    }
Ejemplo n.º 7
0
 private void ClosePosition()
 {
     if (_position == null)
         return;
     Trade.Close(_position);
     _position = null;
 }
Ejemplo n.º 8
0
        public void DifferentPositionsAreNotEqual()
        {
            var sut = new Position(1, 1, 1);
            var sut2 = new Position(1, 1, 0);

            Assert.That(sut, Is.Not.EqualTo(sut2));
        }
        public uint CreateSkillAoE(Skills skill, Vector2 direction, Position position)
        {
            SkillAoE skillAoE;
            Movement movement;
            Sprite sprite;
            Collideable collideable;
            uint eid = Entity.NextEntity();

            position.EntityID = eid;
            position.Center += direction * 70;

            switch (skill)
            {
                default:
                    throw new Exception("Not a AoE skill");
            }

            collideable = new Collideable()
            {
                EntityID = eid,
                Bounds = new CircleBounds(position.Center, position.Radius),
            };

            game.SkillAoEComponent.Add(eid, skillAoE);
            game.MovementComponent.Add(eid, movement);
            game.PositionComponent.Add(eid, position);
            game.SpriteComponent.Add(eid, sprite);
            game.CollisionComponent.Add(eid, collideable);
            return eid;
        }
Ejemplo n.º 10
0
        public void SamePositionsAreEqual()
        {
            var sut = new Position(1, 1, 1);
            var sut2 = new Position(1, 1, 1);

            Assert.That(sut,Is.EqualTo(sut2));
        }
Ejemplo n.º 11
0
        public void SamePositionsAreEqualWithOperator()
        {
            var sut = new Position(1, 1, 1);
            var sut2 = new Position(1, 1, 1);

            Assert.That(sut == sut2);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 位置情報から表示座標へ変換を行う
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns></returns>
        private Position convScaleAndMuki(double x, double y)
        {
            double scallX = x * double.Parse(numUpDownCourseScale.Text);
            double scallY = y * double.Parse(numUpDownCourseScale.Text);

            Position position = new Position();

            int kakudo = Convert.ToInt32(textBoxKakudo.Text);
            if (kakudo == 90)
            {
                position.X = scallY * -1;
                position.Y = scallX;
            }
            else if (kakudo == 180)
            {
                position.X = scallX * -1;
                position.Y = scallY * -1;
            }
            else if (kakudo == 270)
            {
                position.X = scallY;
                position.Y = scallX * -1;
            }
            else
            {
                position.X = scallX;
                position.Y = scallY;
            }

            position.X = position.X + gpsOffsetX;
            position.Y = position.Y + gpsOffsetY;

            return position;
        }
Ejemplo n.º 13
0
        public void DifferentPositionsAreNotEqualWithOperator()
        {
            var sut = new Position(1, 1, 1);
            var sut2 = new Position(1, 1, 0);

            Assert.That(sut != sut2);
        }
Ejemplo n.º 14
0
		public Player(string name, int number, Position position, string country)
		{
			this.name = name;
			this.number = number;
			this.position = position;
			this.country = country;
		}
Ejemplo n.º 15
0
        protected override bool TickCore(RealmTime time)
        {
            var dist = range;
            var player = GetNearestEntity(ref dist, null);
            if (player != null)
            {
                var chr = Host as Character;
                var target = new Position
                {
                    X = player.X,
                    Y = player.Y
                };

                chr.Owner.BroadcastPacket(new ShowEffectPacket
                {
                    EffectType = EffectType.Throw,
                    Color = new ARGB(0xffffbf00),
                    TargetId = Host.Self.Id,
                    PosA = target
                }, null);

                chr.Owner.Timers.Add(new WorldTimer(1500, (world, t) =>
                {
                    var entity = Entity.Resolve(objType);
                    entity.Move(target.X, target.Y);
                    (entity as Enemy).Terrain = (chr as Enemy).Terrain;
                    world.EnterWorld(entity);
                }));
            }
            return true;
        }
Ejemplo n.º 16
0
 protected Player(string name, int str, int dex, int vit, int intl, int strengthModifier, int dexterityModifier,
                  int vitalityModifier, int intelligenceModifier,
                  List<IItem> baseItems, CharacterType characterType)
     : base(name)
 {
     this.Strength = str;
     this.Dexterity = dex;
     this.Vitality = vit;
     this.Intelligence = intl;
     this.StrengthModifier = strengthModifier;
     this.DexterityModifier = dexterityModifier;
     this.VitalityModifier = vitalityModifier;
     this.IntelligenceModifier = intelligenceModifier;
     Position = new Position();
     this.Level = 1;
     this.Cash = 500;
     this.Inventory = new List<IItem>();
     this.Equiped = new List<IItem>();
     this.InitialItemEquip(baseItems);
     //CalculateAttackPoints();
     //CalculateDefencePoints();
     this.CalculateHitPoints();
     CurrentHitPoints = this.MaxHitPoints;
     this.CharacterType = characterType;
 }
        public async Task<IHttpActionResult> PutPosition(Position entity)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            _dbContext.ApplyChanges(entity);

            try
            {
                await _dbContext.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_dbContext.Positions.Any(e => e.PositionId == entity.PositionId))
                {
                    return Conflict();
                }
                throw;
            }

            await _dbContext.LoadRelatedEntitiesAsync(entity);
            entity.AcceptChanges();
            return Ok(entity);
        }
Ejemplo n.º 18
0
 public Declarations(Position position, Declaration[] declarations)
     : base(position)
 {
     _declarations = declarations;
     foreach (Declaration declaration in _declarations)
         declaration.Parent = this;
 }
Ejemplo n.º 19
0
Archivo: Panel.cs Proyecto: swejk/2DRPG
 public void RemovePosition(Position p)
 {
     if(positionMap.ContainsKey(p.name))
     {
         positionMap.Remove(p.name);
     }
 }
        public async Task<IHttpActionResult> PostPosition(Position entity)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            entity.TrackingState = TrackingState.Added;
            _dbContext.ApplyChanges(entity);


            try
            {
                await _dbContext.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (_dbContext.Positions.Any(e => e.PositionId == entity.PositionId))
                {
                    return Conflict();
                }
                throw;
            }

            await _dbContext.LoadRelatedEntitiesAsync(entity);
            entity.AcceptChanges();
            return CreatedAtRoute("DefaultApi", new { id = entity.PositionId }, entity);
        }
		void CheckValidBeginAndEndDrawPositions(Position beginDrawPos, Position endDrawPos)
		{
			// We draw from upper left to lower right
			Assert.IsTrue(beginDrawPos.Row <= endDrawPos.Row);
			if (beginDrawPos.Row == endDrawPos.Row)
				Assert.IsTrue(beginDrawPos.Column < endDrawPos.Column);
		}
		public void TestThatCaretPosIsOnOneOfTheSelectionBorders ()
		{
			var caretPos = new Position(5, 5);
			var anchorPos = new[] {
				new Position (1,1), new Position (1,5), new Position (1, 10),
				new Position (5,1), new Position (5,5), new Position (5, 10),
				new Position (10,1), new Position (10,5), new Position (10, 10)
			                      };
			var selection = GetSelectionWithCaretPos(caretPos.Row, caretPos.Column);

			for (var i=0; i<anchorPos.Length; i++)
			{
				selection.Anchor = anchorPos[i];
				
				var caretIsOk = selection.BeginDrawPos == caretPos || selection.EndDrawPos == caretPos;
				if (!caretIsOk)
					System.Console.WriteLine("Error: Caret is NOT on selection border" + " \nData: " + selection + ", Index: " + i);

				var anchorIsOk = selection.BeginDrawPos == selection.Anchor || selection.EndDrawPos == selection.Anchor;
				if (!anchorIsOk)
					System.Console.WriteLine("Error: Anchor is NOT on selection border" + " \nData: " + selection + ", Index: " + i);

				Assert.IsTrue(caretIsOk);
				Assert.IsTrue(anchorIsOk);
			}
		}
Ejemplo n.º 23
0
        protected override bool TickCore(RealmTime time)
        {
            var chr = Host as Character;
            Position target = new Position()
            {
                X = Host.Self.X,
                Y = Host.Self.Y
            };
            target.X += (float)Math.Cos(angle) * range;
            target.Y += (float)Math.Sin(angle) * range;
            chr.Owner.BroadcastPacket(new ShowEffectPacket()
            {
                EffectType = EffectType.Throw,
                Color = new ARGB(0xffffbf00),
                TargetId = Host.Self.Id,
                PosA = target
            }, null);
            chr.Owner.Timers.Add(new WorldTimer(1500, (world, t) =>
            {
                Entity entity = Entity.Resolve(objType);
                entity.Move(target.X, target.Y);
                (entity as Enemy).Terrain = (chr as Enemy).Terrain;
                world.EnterWorld(entity);
            }));

            return true;
        }
Ejemplo n.º 24
0
        }//will add two seas in Main (one of player and one of robot)


        protected Ship GenerateShip(int shipLength, int seaLength)
        {
            //randomly generate alignment
            Alignment align;
            if (randGenerator.Next(0, 2) == 0)
            {
                align = Alignment.Vertical;
            }
            else
            {
                align = Alignment.Horizontal;
            }
            //randomly generate StartPosition
            Position start = new Position();
            if (align == Alignment.Vertical)
            {
                start.X = randGenerator.Next(0, seaLength-shipLength);
                start.Y = randGenerator.Next(0, seaLength);
            }
            else
            {
                start.X = randGenerator.Next(0, seaLength);
                start.Y = randGenerator.Next(0, seaLength-shipLength);
            }
            return new Ship(start, shipLength, align);
        }
Ejemplo n.º 25
0
		public FunctionCall(Position position, List<ActualParam>/*!*/ parameters, List<TypeRef>/*!*/ genericParams)
			: base(position)
		{
			Debug.Assert(parameters != null);

			this.callSignature = new CallSignature(parameters, genericParams);
		}
Ejemplo n.º 26
0
        private void TestPopup_Click_1(object sender, EventArgs e)
        {
            Position arg = new Position(111,2,DateTime.Now);

            ShowWindowIfNewPosition(arg,
                (decision) => label1.Text = "Handling user decision fired!");
        }
        private string GenerateLink(ISmartContent smartContent, IPublishingContext publishingContext, out Position position)
        {
            position = Position.Footer;

            string culture = Thread.CurrentThread.CurrentCulture.Name;
            if (culture.Contains("-"))
                culture = culture.Replace("-", "_");

            var stringWriter = new StringWriter();
            stringWriter.WriteLine("<script type=\"text/javascript\">");

            stringWriter.WriteLine("var flattr_uid = '{0}';", _settings.FlattrId);
            stringWriter.WriteLine("var flattr_tle = '{0}';", publishingContext.PostInfo.Title);
            stringWriter.WriteLine("var flattr_dsc = '{0}';", publishingContext.PostInfo.Contents);
            stringWriter.WriteLine("var flattr_cat = 'text';");
            stringWriter.WriteLine("var flattr_lng = '{0}';", culture);
            stringWriter.WriteLine("var flattr_tag = '';");
            stringWriter.WriteLine("var flattr_url = '{0}';", publishingContext.PostInfo.Permalink);
            stringWriter.WriteLine("var flattr_hide = 'false';");

            if (_settings.CompactMode)
                stringWriter.WriteLine("var flattr_btn = 'compact';");

            stringWriter.WriteLine("</script>");
            stringWriter.WriteLine("<script type=\"text/javascript\" src=\"http://api.flattr.com/button/load.js\"></script>");

            return stringWriter.ToString();
        }
Ejemplo n.º 28
0
        public void DeserializeTest()
        {
            Position position = new Position
              {
            Title = Constants.Position_Title
              };

              Company company = new Company
              {
            Name = Constants.Company_Name
              };

              Job expected = new Job
              {
            Id = Constants.Job_Id,
            Position = position,
            Company = company
              };

              Job actual = LinkedIn.Utility.Utilities.DeserializeXml<Job>(this.jobRequest);

              Assert.AreEqual(expected.Id, actual.Id);
              Assert.AreEqual(expected.Position.Title, actual.Position.Title);
              Assert.AreEqual(expected.Company.Name, actual.Company.Name);
        }
Ejemplo n.º 29
0
    public void Swapped()
    {
        if (checknum != 0)
        {
            Position[] send = new Position[2];
            send[0] = my_number;
            send[1] = checkicon[0].GetComponent<CIcon>().my_number;

            PM.ChangePosition(send);

            Position temp = my_number;
            my_number = checkicon[0].GetComponent<CIcon>().my_number;
            checkicon[0].GetComponent<CIcon>().my_number = temp;

            Vector3 temp_pos = saved_position;
            saved_position = checkicon[0].GetComponent<CIcon>().saved_position;
            checkicon[0].GetComponent<CIcon>().saved_position = temp_pos;

            temp_pos = disappear_pos;
            disappear_pos = checkicon[0].GetComponent<CIcon>().disappear_pos;
            checkicon[0].GetComponent<CIcon>().disappear_pos = temp_pos;

            SlowReturn();
            checkicon[0].GetComponent<CIcon>().SlowReturn();
        }
    }
Ejemplo n.º 30
0
        internal void ApplyAnimation(Position position)
        {
            var root = (Grid)GetTemplateChild("root");
            if (root == null)
                return;

            var hideFrame = (EasingDoubleKeyFrame)GetTemplateChild("hideFrame");
            var showFrame = (EasingDoubleKeyFrame)GetTemplateChild("showFrame");

            if (hideFrame == null || showFrame == null)
                return;

            showFrame.Value = 0;
            root.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));

            if (position == Position.Right)
                HorizontalAlignment = HorizontalAlignment.Right;

            if (position == Position.Right)
            {
                hideFrame.Value = root.DesiredSize.Width;
                root.RenderTransform = new TranslateTransform(root.DesiredSize.Width, 0);
            }
            else
            {
                hideFrame.Value = -root.DesiredSize.Width;
                root.RenderTransform = new TranslateTransform(-root.DesiredSize.Width, 0);
            }
        }
Ejemplo n.º 31
0
 public PositionReference(Position value)
 {
     UseConstant   = true;
     ConstantValue = value;
 }
Ejemplo n.º 32
0
        private bool TestCastling(Position position)
        {
            Piece piece = chessBoard.Piece(position);

            return(piece != null && piece is Rook && piece.color == color && piece.movementsQty == 0);
        }
Ejemplo n.º 33
0
 private static string GetRoleUrl(int championId, Position position)
 => $"https://op.gg/champion/{Riot.GetChampion(championId).Key}/statistics/{PositionToName[position]}";
Ejemplo n.º 34
0
 public DotToken(Position position)
     : base(position)
 {
 }
Ejemplo n.º 35
0
        public override bool[,] PossibleMovements()
        {
            bool[,] movements = new bool[chessBoard.line, chessBoard.column];
            Position pos = new Position(0, 0);

            // acima
            pos.DefineValue(position.line - 1, position.column);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // ne
            pos.DefineValue(position.line - 1, position.column + 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // direita
            pos.DefineValue(position.line, position.column + 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // se
            pos.DefineValue(position.line + 1, position.column + 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // abaixo
            pos.DefineValue(position.line + 1, position.column);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // so
            pos.DefineValue(position.line + 1, position.column - 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // esquerda
            pos.DefineValue(position.line, position.column - 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }
            // no
            pos.DefineValue(position.line - 1, position.column - 1);
            if (chessBoard.ValidPosition(pos) && CanMove(pos))
            {
                movements[pos.line, pos.column] = true;
            }

            // #jogadaespecial roque
            if (movementsQty == 0 && !match.check)
            {
                // #jogadaespecial roque pequeno
                Position positionRook1 = new Position(position.line, position.column + 3);
                if (TestCastling(positionRook1))
                {
                    Position position1 = new Position(position.line, position.column + 1);
                    Position position2 = new Position(position.line, position.column + 2);
                    if (chessBoard.Piece(position1) == null && chessBoard.Piece(position2) == null)
                    {
                        movements[position.line, position.column + 2] = true;
                    }
                }
                // #jogadaespecial roque grande
                Position positionRook2 = new Position(position.line, position.column - 4);
                if (TestCastling(positionRook2))
                {
                    Position position1 = new Position(position.line, position.column - 1);
                    Position position2 = new Position(position.line, position.column - 2);
                    Position position3 = new Position(position.line, position.column - 3);
                    if (chessBoard.Piece(position1) == null && chessBoard.Piece(position2) == null && chessBoard.Piece(position3) == null)
                    {
                        movements[position.line, position.column - 2] = true;
                    }
                }
            }

            return(movements);
        }
Ejemplo n.º 36
0
 public Menu(Position position) : base(position)
 {
 }
Ejemplo n.º 37
0
        private bool CanMove(Position position)
        {
            Piece piece = chessBoard.Piece(position);

            return(piece == null || piece.color != color);
        }
Ejemplo n.º 38
0
        public override void Start(Server server)
        {
            Creature creature = (Creature)GameObject;

            spawnPosition = creature.Tile.Position;
        }
Ejemplo n.º 39
0
 public Menu(Size size, Position position) : base(size, position)
 {
 }
Ejemplo n.º 40
0
 public void AddPosition(ePackageElementDefinitionType packageElementDefinitionType, PieceOfCode posCode)
 {
     Position.Add(packageElementDefinitionType, posCode);
 }
Ejemplo n.º 41
0
 public static void SetPosition(DependencyObject obj, Position value)
 {
     obj.SetValue(PositionProperty, value);
 }
Ejemplo n.º 42
0
 public static void Write(this BinaryWriter writer, Position position)
 {
     writer.Write(position.Cell);
     writer.Write(position.Pos);
     writer.Write(position.Rotation);
 }
Ejemplo n.º 43
0
        private static void Positions_PositionAdded(Position obj)
        {
            string text = $"Position added: {obj.Account} {obj.Instrument} {obj.Id}";

            SendAutoTweet(text);
        }
Ejemplo n.º 44
0
 public Rover(Position position)
 {
     this.position = position;
 }
Ejemplo n.º 45
0
        public static void Write(this BinaryWriter writer, AllegianceHeirarchy heirarchy)
        {
            // ushort - recordCount - Number of character allegiance records
            // ushort - oldVersion = 0x000B - Defines which properties are available. 0x000B seems to be the latest version which includes all properties.
            // Dictionary<ObjectID, AllegianceOfficerLevel> - officers - Taking a guess on these values. Guessing they may only be valid for Monarchs
            //                                                           A list of officers and their officer levels?
            // List<string> - officerTitles - Believe these may pass in the current officer title list. Guessing they may only be valid on Monarchs.
            // uint - monarchBroadcastTime - May only be valid for Monarchs/Speakers?
            // uint - monarchBroadcastsToday - May only be valid for Monarchs/Speakers?
            // uint - spokesBroadcastTime - May only be valid for Monarchs/Speakers?
            // uint - spokesBroadcastsToday - May only be valid for Monarchs/Speakers?
            // string - motd - Text for current Message of the Day. May only be valid for Monarchs/Speakers?
            // string - motdSetBy - Who set the current Message of the Day. May only be valid for Monarchs/Speakers?
            // uint - chatRoomID - allegiance chat channel number
            // Position - bindpoint - Location of monarchy bindpoint
            // string - allegianceName - The name of the allegiance.
            // uint - nameLastSetTime - Time name was last set. Seems to count upward for some reason.
            // bool - isLocked - Whether allegiance is locked.
            // int - approvedVassal - ??
            // AllegianceData - monarchData - Monarch's data

            // records: vector of length recordCount - 1
            // ObjectID - treeParent - The ObjectID for the parent character to this character. Used by the client to decide how to build the display in the Allegiance tab. 1 is the monarch.
            // AllegianceData - allegianceData

            // recordCount = Monarch + Patron + Vassals?
            // 2 in data for small allegiances?
            ushort         recordCount            = 0;
            ushort         oldVersion             = 0x000B;
            var            officers               = new Dictionary <ObjectGuid, AllegianceOfficerLevel>();
            var            officerTitles          = new List <string>();
            uint           monarchBroadcastTime   = 0;
            uint           monarchBroadcastsToday = 0;
            uint           spokesBroadcastTime    = 0;
            uint           spokesBroadcastsToday  = 0;
            var            motd            = "";
            var            motdSetBy       = "";
            uint           chatRoomID      = 0;
            var            bindPoint       = new Position();
            var            allegianceName  = "";
            uint           nameLastSetTime = 0;
            bool           isLocked        = false;
            int            approvedVassal  = 0;
            AllegianceData monarchData     = null;
            List <Tuple <ObjectGuid, AllegianceData> > records = null;

            var allegiance = heirarchy.Profile.Allegiance;
            var node       = heirarchy.Profile.Node;

            if (allegiance != null && node != null)
            {
                // only send these to monarch?
                //foreach (var officer in allegiance.Officers)
                //officers.Add(officer.Key, (AllegianceOfficerLevel)officer.Value.Player.AllegianceOfficerRank);

                if (allegiance.HasCustomTitles)
                {
                    officerTitles.Add(allegiance.GetOfficerTitle(AllegianceOfficerLevel.Speaker));
                    officerTitles.Add(allegiance.GetOfficerTitle(AllegianceOfficerLevel.Seneschal));
                    officerTitles.Add(allegiance.GetOfficerTitle(AllegianceOfficerLevel.Castellan));
                }

                allegianceName = allegiance.AllegianceName ?? allegiance.Monarch.Player.Name;
                motd           = allegiance.AllegianceMotd ?? "";
                motdSetBy      = allegiance.AllegianceMotdSetBy ?? "";
                chatRoomID     = allegiance.Biota.Id;

                if (allegiance.Sanctuary != null)
                {
                    bindPoint = allegiance.Sanctuary;
                }

                // aclogview (verify):
                // i == 0 : monarch (no guid)
                // i == 1 : patron
                // i == 2 : peer?
                // i  > 2 : vassals

                // peers = others with the same patron?

                recordCount = 1;                                   // monarch
                if (node.Patron != null && !node.Patron.IsMonarch) // patron
                {
                    recordCount++;
                }
                if (!node.IsMonarch)    // self
                {
                    recordCount++;
                }
                if (node.TotalVassals > 0)  // vassals
                {
                    recordCount += (ushort)node.TotalVassals;
                }
                //Console.WriteLine("Records: " + recordCount);

                // monarch
                monarchData = new AllegianceData(allegiance.Monarch);

                if (recordCount > 1)
                {
                    records = new List <Tuple <ObjectGuid, AllegianceData> >();

                    // patron
                    if (node.Patron != null && !node.Patron.IsMonarch)
                    {
                        records.Add(new Tuple <ObjectGuid, AllegianceData>(node.Monarch.PlayerGuid, new AllegianceData(node.Patron)));
                    }

                    // self
                    if (!node.IsMonarch)
                    {
                        records.Add(new Tuple <ObjectGuid, AllegianceData>(node.Patron.PlayerGuid, new AllegianceData(node)));
                    }

                    // vassals
                    if (node.TotalVassals > 0)
                    {
                        foreach (var vassal in node.Vassals.Values)
                        {
                            records.Add(new Tuple <ObjectGuid, AllegianceData>(node.PlayerGuid, new AllegianceData(vassal)));
                        }
                    }
                }
            }

            writer.Write(recordCount);
            writer.Write(oldVersion);
            writer.Write(officers);
            writer.Write(officerTitles);
            writer.Write(monarchBroadcastTime);
            writer.Write(monarchBroadcastsToday);
            writer.Write(spokesBroadcastTime);
            writer.Write(spokesBroadcastsToday);
            writer.WriteString16L(motd);
            writer.WriteString16L(motdSetBy);
            writer.Write(chatRoomID);
            writer.Write(bindPoint);
            writer.WriteString16L(allegianceName);
            writer.Write(nameLastSetTime);
            writer.Write(Convert.ToUInt32(isLocked));
            writer.Write(approvedVassal);

            if (monarchData != null)
            {
                writer.Write(monarchData);
            }

            if (records != null)
            {
                writer.Write(records);
            }
        }
Ejemplo n.º 46
0
 protected override void onFilled(Position position, Trade trade)
 {
 }
Ejemplo n.º 47
0
 public int CompareTo(AchievementAttribute other)
 {
     return(Position.CompareTo(other.Position));
 }