Пример #1
0
		public Head( HeadType headType, string playerName )
			: base( 0x1DA0 )
		{
			m_HeadType = headType;
			m_PlayerName = playerName;
			ItemValue = ItemValue.Trash;
		}
Пример #2
0
        /// <summary>
        /// Gets an edge given an edge id. Throws if no such edge exist.
        /// </summary>
        /// <param name="edgeId">The id of the edge</param>
        /// <returns>The edge with matching id if it exists</returns>
        public Edge GetEdge(EdgeId edgeId)
        {
            if (Unrestricted)
            {
                UnrestrictedEdge headTail;
                if (m_unrestrictedEdges.TryGetValue(edgeId, out headTail))
                {
                    VertexType vt   = headTail.m_headVertexType;
                    Vertex     head = vt.GetVertex(headTail.m_headVertexId);
                    vt = headTail.m_tailVertexType;
                    Vertex tail = vt.GetVertex(headTail.m_tailVertexId);
                    return(new Edge(MyGraph, this, edgeId, head, tail));
                }
            }
            else
            {
                UInt64 vertexVertex;
                if (m_restrictedEdges.TryGetValue(edgeId, out vertexVertex))
                {
                    VertexId headId = (VertexId)(vertexVertex >> 32);
                    Vertex   head   = HeadType.GetVertex(headId);
                    Vertex   tail   = TailType.GetVertex((VertexId)vertexVertex);
                    return(new Edge(MyGraph, this, edgeId, head, tail));
                }
            }

            throw new EdgeDoesNotExistException();
        }
Пример #3
0
        public void Lower(HeadType toolType)
        {
            if (toolType == HeadType.Crease)
            {
                if (base.GetCutHeadStatus() == HeadStatus.Lowered)
                {
                    this.Raise(HeadType.Cut);
                }
                if (base.GetCreaseHeadStatus() == HeadStatus.Lowered)
                {
                    return;
                }
            }
            else
            {
                if (base.GetCreaseHeadStatus() == HeadStatus.Lowered)
                {
                    this.Raise(HeadType.Crease);
                }
                if (base.GetCutHeadStatus() == HeadStatus.Lowered)
                {
                    return;
                }
            }

            base.Lower(toolType);
            Logger.Log(string.Format("Lower long-head {0} {1},", Id, toolType == HeadType.Crease ? "crease" : "knife"));
        }
Пример #4
0
 public Head(HeadType headType, string playerName)
     : base(0x1DA0)
 {
     m_HeadType   = headType;
     m_PlayerName = playerName;
     ItemValue    = ItemValue.Trash;
 }
Пример #5
0
        public Head(HeadType headType, Mobile owner) : base(0x1DA0)
        {
            m_HeadType = headType;
            m_Owner    = owner;

            PlayerMobile pm_Owner = owner as PlayerMobile;

            if (pm_Owner != null)
            {
                PlayerName = pm_Owner.Name;

                switch (m_HeadType)
                {
                case Server.Items.HeadType.Regular: Name = "the head of " + pm_Owner.Name; break;

                case Server.Items.HeadType.Duel: Name = "the head of " + pm_Owner.Name + ", taken in a duel"; break;

                case Server.Items.HeadType.Tournament: Name = "the head of " + pm_Owner.Name + ", taken in a tournament"; break;
                }
            }

            else
            {
                Name = "a head";
            }

            Weight = 1.0;
        }
Пример #6
0
    /// <summary>
    /// 设置小地图头像的sprite
    /// </summary>
    /// <param name="sp"></param>
    public void SetHeadSprite(HeadType type)
    {
        Sprite sp = ResourceMgr.Instance.GetSprite(GetHeadSpriteName(type));

        img.sprite      = sp;
        trans.sizeDelta = sp.rect.size;
    }
Пример #7
0
    private void SetColor()
    {
        MeshRenderer[] meshRenderer = GetComponentsInChildren <MeshRenderer>();

        bool availableTasks       = TaskManager.GetInstance().tasks != null && TaskManager.GetInstance().tasks.Count > 0;
        int  randomChanceForMatch = RandomManager.GetRandomNumber(0, 101);

        if (availableTasks && randomChanceForMatch < PrototypeManager.GetInstance().GetCurrentWave().chanceOfCorrectBodyCombination)
        {
            HeadType taskHeadType = TaskManager.GetInstance().tasks[RandomManager.GetRandomNumber(0, TaskManager.GetInstance().tasks.Count)].Head;
            headType = taskHeadType;
        }
        else
        {
            headType = (HeadType)Random.Range(0, 3);
        }

        for (int i = 0; i < meshRenderer.Length; i++)
        {
            if (headType == HeadType.Blue)
            {
                meshRenderer[i].material.color = Color.blue;
            }
            else if (headType == HeadType.Green)
            {
                meshRenderer[i].material.color = Color.green;
            }
            else if (headType == HeadType.Red)
            {
                meshRenderer[i].material.color = Color.red;
            }
        }
    }
Пример #8
0
 public Bolt(float diameter, float length, HeadType headType, int stock)
     : base(stock, "B-" + headType.ToString() + "-D" + diameter.ToString() + "-L" + length.ToString())
 {
     this.Diameter        = diameter;
     this.Length          = length;
     this.CurrentHeadType = headType;
 }
Пример #9
0
 public Head(HeadType headType, string playerName, Serial playerSerial, PlayerMobile mobile, DateTime whenkilled) : base(0x1DA0)
 {
     m_HeadType     = headType;
     m_PlayerName   = playerName;
     m_PlayerSerial = playerSerial;
     m_Killer       = mobile;
     m_WhenKilled   = whenkilled;
 }
Пример #10
0
    private void OnTriggerStay2D(Collider2D other)
    {
        var plug = other.GetComponent <Plug>();

        if (plug != null)
        {
            if (Input.GetMouseButtonDown(0))
            {
                if (!isPlug)
                {
                    if (!plug.isUsed)
                    {
                        if ((plug.plugType == PlugType.In) && !_cableController.firstHeadPlugged)
                        {
                            this.plug = plug;
                            ConnectHead(plug.transform.position);
                            plug.isUsed          = true;
                            plug.cableController = _cableController;
                            _cableController.firstHeadPlugged = true;
                            headType = HeadType.FirstHead;
                            _cableController.screen = this.plug.GetComponentInParent <Screen>();

                            if (!(_cableController.firstHeadPlugged && _cableController.secondHeadPlugged))
                            {
                                _cableController.ActiveSecondHead();
                            }
                            else
                            {
                                _cableController.firstPluggedHead = HeadType.SecondHead;
                                _cableController.ActiveConnection();
                            }
                        }
                        else if (plug.plugType == PlugType.Out && !_cableController.secondHeadPlugged)
                        {
                            this.plug = plug;

                            ConnectHead(plug.transform.position);
                            plug.isUsed          = true;
                            plug.cableController = _cableController;
                            _cableController.secondHeadPlugged = true;
                            headType = HeadType.SecondHead;

                            if (!(_cableController.firstHeadPlugged && _cableController.secondHeadPlugged))
                            {
                                _cableController.ActiveSecondHead();
                            }
                            else
                            {
                                _cableController.firstPluggedHead = HeadType.FirstHead;
                                _cableController.ActiveConnection();
                            }
                        }
                    }
                }
            }
        }
    }
Пример #11
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            //bounty system
            case 4:
                CreationTime = reader.ReadDateTime();
                Killer       = reader.ReadMobile();
                IsPlayer     = reader.ReadBool();
                goto case 3;

            //end bounty system
            case 3:
                m_Fame = reader.ReadInt();
                goto case 2;

            case 2:
                Owner = reader.ReadMobile();
                goto case 1;

            case 1:
                m_PlayerName = reader.ReadString();
                m_HeadType   = (HeadType)reader.ReadEncodedInt();
                break;

            case 0:
                string format = Name;

                if (format != null)
                {
                    if (format.StartsWith("the head of "))
                    {
                        format = format.Substring("the head of ".Length);
                    }

                    if (format.EndsWith(", taken in a duel"))
                    {
                        format     = format.Substring(0, format.Length - ", taken in a duel".Length);
                        m_HeadType = HeadType.Duel;
                    }
                    else if (format.EndsWith(", taken in a tournament"))
                    {
                        format     = format.Substring(0, format.Length - ", taken in a tournament".Length);
                        m_HeadType = HeadType.Tournament;
                    }
                }

                m_PlayerName = format;
                Name         = null;

                break;
            }
        }
Пример #12
0
        internal static bool Exists(string path, HeadType expectedObjectType)
        {
            if (IsLocal(path))
            {
                switch (expectedObjectType)
                {
                case HeadType.Directory:
                    return(System.IO.Directory.Exists(path));

                case HeadType.File:
                    return(System.IO.File.Exists(path));

                default:
                    throw new Exception("The path <" + path +
                                        "> is local/UNC but no type switch (dir/file) provided.");
                }
            }
            bool found = false;

            string[] majorSegments;

            if (IsMtp(path, out majorSegments))
            {
                var pair = GetDriveByMtpPathSegments(majorSegments);
                using (/*device*/ pair.Item1)
                    using (var drive = pair.Item2)
                    {
                        var pathSegments =
                            majorSegments[3].Split(new[] { System.IO.Path.DirectorySeparatorChar },
                                                   StringSplitOptions.RemoveEmptyEntries);
                        WpdFilesystemItem target = drive;
                        var disposables          = new List <IDisposable>();
                        for (int i = 0; i < pathSegments.Length; i++)
                        {
                            var children = target.GetChildren();
                            disposables.AddRange(children);
                            target = children.FirstOrDefault(
                                c => c.Name.Equals(pathSegments[i]) &&
                                (expectedObjectType == HeadType.Directory
                                     ? c.IsFolder //all segments point to folders, even the last one
                                     : (expectedObjectType == HeadType.File
                                         ? (c.IsFolder == (i != pathSegments.Length - 1))
                                        //all folders except the last one, which is file
                                         : (c.IsFolder || (i == pathSegments.Length - 1)))));
                            //all folders, excet the last one, which can be both
                            if (target == null)
                            {
                                break;
                            }
                        }
                        found = target != null;
                        disposables.ForEach(d => d.Dispose());
                    }
            }
            return(found);
        }
Пример #13
0
    public void Copy(BotHead head)
    {
        renderer = GetComponent <SpriteRenderer>();

        headType = head.headType;
        if (this.animator)
        {
            this.animator.SetInteger("Type", (int)this.headType);
        }
        isBroken        = head.isBroken;
        renderer.sprite = GetSprite();
    }
Пример #14
0
    public void Init()
    {
        animator = GetComponent <Animator>();
        renderer = GetComponent <SpriteRenderer>();

        int type = Random.Range(0, 5);

        headType = (HeadType)type;

        if (animator)
        {
            animator.SetInteger("Type", type);
        }
        renderer.sprite = GetSprite();
    }
Пример #15
0
    public void Update(IPlayerViewModel playerViewModel)
    {
        if (playerViewModel.PlayerData != _playerData)
        {
            _playerData = playerViewModel.PlayerData;

            _heads[HeadType.Idle] = _playerData.Sprites.Where(s => s.SpriteType == SpriteType.HeadIdle).Select(s => s.Sprite).ToList();
            _heads[HeadType.Happy] = _playerData.Sprites.Where(s => s.SpriteType == SpriteType.HeadHappy).Select(s => s.Sprite).ToList();
            _heads[HeadType.Hurt] = _playerData.Sprites.Where(s => s.SpriteType == SpriteType.HeadHurt).Select(s => s.Sprite).ToList();
        }

        var headType =
            playerViewModel.PlayerState == PlayerState.Happy ? HeadType.Happy
            : playerViewModel.PlayerState == PlayerState.Hurt ? HeadType.Hurt
            : HeadType.Idle;

        if (Time.time > _nextChangeTime
            || headType != _lastHeadType)
        {
            _nextChangeTime = Random.Range(Time.time, Time.time + 10);
            _lastHeadType = headType;

            // Show heads
            var heads = _heads[headType];

            if (heads == null
                || heads.Count <= 0)
            {
                heads = _heads[HeadType.Idle];
            }

            if (heads == null)
            {
                return;
            }

            _iHead++;
            if (_iHead >= heads.Count)
            {
                _iHead = 0;
            }

            _headRenderer.sprite = heads[_iHead];
        }
    }
Пример #16
0
        /// <summary>
        /// 添加包头
        /// </summary>
        /// <param name="type">package type</param>
        /// <param name="content">package content with byte array</param>
        /// <returns></returns>
        public static byte[] ContentAddHead(HeadType type, byte[] content)
        {
            MsgHead head = new MsgHead();
            head.MsgType = (UInt32)IPAddress.HostToNetworkOrder((int)type);
            int contentLenght = content.Length;
            int size = Marshal.SizeOf(head);

            head.MsgLen = (UInt32)IPAddress.HostToNetworkOrder(contentLenght);
            byte[] bytes_head = new byte[size];
            IntPtr buffer = Marshal.AllocHGlobal(size);
            Marshal.StructureToPtr(head, buffer, false);
            Marshal.Copy(buffer, bytes_head, 0, size);
            Marshal.FreeHGlobal(buffer);
            byte[] package = new byte[content.Length + bytes_head.Length];
            Array.Copy(bytes_head, 0, package, 0, bytes_head.Length);
            Array.Copy(content, 0, package, bytes_head.Length, content.Length);
            return package;
        }
Пример #17
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
                m_PlayerName = reader.ReadString();
                m_Job        = reader.ReadString();
                m_HeadType   = (HeadType)reader.ReadEncodedInt();
                break;

            case 0:
                string format = this.Name;

                if (format != null)
                {
                    if (format.StartsWith("the head of "))
                    {
                        format = format.Substring("the head of ".Length);
                    }

                    if (format.EndsWith(", taken in a duel"))
                    {
                        format     = format.Substring(0, format.Length - ", taken in a duel".Length);
                        m_HeadType = HeadType.Duel;
                    }
                    else if (format.EndsWith(", taken in a tournament"))
                    {
                        format     = format.Substring(0, format.Length - ", taken in a tournament".Length);
                        m_HeadType = HeadType.Tournament;
                    }
                }

                m_PlayerName = format;
                m_Job        = reader.ReadString();
                this.Name    = null;

                break;
            }
            Weight = 1.0;
        }
Пример #18
0
        public async Task <int> SaveHeadType(HeadType headType)
        {
            if (headType.Id != 0)
            {
                _context.HeadTypes.Update(headType);

                await _context.SaveChangesAsync();

                return(1);
            }
            else
            {
                await _context.HeadTypes.AddAsync(headType);

                await _context.SaveChangesAsync();

                return(1);
            }
        }
Пример #19
0
 /// <summary>
 /// Gets an edge given an edge id. Throws if no such edge exist.
 /// </summary>
 /// <param name="edgeId">The id of the edge</param>
 /// <param name="polymorphic">If true and id isn't found in this EdgeType continue search into sub types</param>
 /// <param name="errorIfNotFound">Indicate what to do if <see cref="Edge"/> does not exist</param>
 /// <returns>The edge with matching id if it exists</returns>
 public Edge GetEdge(EdgeId edgeId, bool polymorphic = false, bool errorIfNotFound = true)
 {
     if (Unrestricted)
     {
         UnrestrictedEdge headTail;
         if (m_unrestrictedEdges.TryGetValue(edgeId, out headTail))
         {
             VertexType vt   = headTail.m_headVertexType;
             Vertex     head = vt.GetVertex(headTail.m_headVertexId);
             vt = headTail.m_tailVertexType;
             Vertex tail = vt.GetVertex(headTail.m_tailVertexId);
             return(new Edge(MyGraph, this, edgeId, head, tail));
         }
     }
     else
     {
         UInt64 vertexVertex;
         if (m_restrictedEdges.TryGetValue(edgeId, out vertexVertex))
         {
             VertexId headId = (VertexId)(vertexVertex >> 32);
             Vertex   head   = HeadType.GetVertex(headId);
             Vertex   tail   = TailType.GetVertex((VertexId)vertexVertex);
             return(new Edge(MyGraph, this, edgeId, head, tail));
         }
     }
     if (polymorphic)
     {
         foreach (var et in m_subTypes)
         {
             var e = et.GetEdge(edgeId, polymorphic, false);
             if (e != null)
             {
                 return(e);
             }
         }
     }
     if (errorIfNotFound)
     {
         throw new EdgeDoesNotExistException();
     }
     return(null);
 }
Пример #20
0
        static Node ConvertToList(Node root, HeadType headType)
        {
            if (root.left == null && root.right == null)
            {
                return(root);
            }

            if (root.left != null)
            {
                root.left       = ConvertToList(root.left, HeadType.right);
                root.left.right = root;
            }

            if (root.right != null)
            {
                root.right      = ConvertToList(root.right, HeadType.left);
                root.right.left = root;
            }

            if (headType == HeadType.root)
            {
                return(root);
            }

            if (headType == HeadType.left)
            {
                if (root.left != null)
                {
                    return(root.left);
                }
                return(root);
            }
            else
            {
                if (root.right != null)
                {
                    return(root.right);
                }
                return(root);
            }
        }
Пример #21
0
    private string GetHeadSpriteName(HeadType type)
    {
        switch (type)
        {
        case HeadType.batman:
            return("head_batMan");

        case HeadType.bigDead:
            return("head_dead");

        case HeadType.bigEnemy:
            return("head_bigEnemy");

        case HeadType.bigFriend:
            return("head_bigFriend");

        case HeadType.boss:
            return("head_boss");

        case HeadType.sheild:
            return("head_sheild");

        case HeadType.shop:
            return("head_shop");

        case HeadType.smallDead:
            return("head_smallDead");

        case HeadType.smallEnemy:
            return("head_smallEnemy");

        case HeadType.smallFriend:
            return("head_smallFriend");

        case HeadType.squareFriend:
            return("head_squareFriend");

        default:
            return("");
        }
    }
Пример #22
0
    public Sprite GetSpriteForType(HeadType type)
    {
        switch (type)
        {
        case HeadType.cleaner:
            return(CleanerHead);

        case HeadType.gardener:
            return(GardenerHead);

        case HeadType.construction:
            return(ConstructionHead);

        case HeadType.artist:
            return(ArtistHead);

        case HeadType.kill:
            return(KillHead);
        }
        return(null);
    }
Пример #23
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            //Version 0
            m_HeadType   = (HeadType)reader.ReadEncodedInt();
            m_Owner      = (PlayerMobile)reader.ReadMobile();
            m_PlayerName = reader.ReadString();

            //Version 1
            if (version >= 1)
            {
                m_PlayerType = (PlayerType)reader.ReadInt();

                m_Killer     = (PlayerMobile)reader.ReadMobile();
                m_KillerName = reader.ReadString();

                m_KillerType = (PlayerType)reader.ReadInt();
            }
        }
Пример #24
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 6:
                IsTown = reader.ReadBool();
                goto case 5;

            case 5:
                _Owner = reader.ReadMobile <PlayerMobile>();
                goto case 4;

            case 4:
                _ExpireDate = reader.ReadDateTime();
                goto case 3;

            case 3:
            {
                _ExpireProcessed = reader.ReadBool();
                _Player          = reader.ReadMobile <PlayerMobile>();
                _HeadName        = reader.ReadString();
                _TypeOf          = (HeadType)reader.ReadEncodedInt();
            }
                goto case 2;

            case 2:
            case 1:
            case 0:
                break;
            }

            if (_Player != null && TypeOf == HeadType.Regular && !Expired)
            {
                AllHeads.Add(this);
            }
        }
Пример #25
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
                _Player = reader.ReadMobile <PlayerMobile>();
                goto case 1;

            case 1:
            {
                _HeadName = reader.ReadString();
                _TypeOf   = (HeadType)reader.ReadEncodedInt();
            }
                goto case 0;

            case 0:
                break;
            }
        }
Пример #26
0
        private static HeadType CreateHeadFromFilePath(string path)
        {
            HeadType headType = new HeadType();

            headType.TexturePath = path;
            string[] arr = Path.GetFileNameWithoutExtension(path).Split(new char[] { '_' });
            try
            {
                headType.Gender    = new Gender?((Gender)ParseHelper.FromString(arr[arr.Length - 3], typeof(Gender)));
                headType.FullName  = arr[arr.Length - 1] + " " + arr[arr.Length - 2];
                headType.FaceName  = arr[arr.Length - 1] + "-" + headType.Gender.ToString();
                headType.CrownType = (CrownType)ParseHelper.FromString(arr[arr.Length - 2], typeof(CrownType));
            }
            catch (Exception ex)
            {
                Log.Warning(string.Format("PS_HeadLoader Failed to parse head at {0}: {1}", path, ex.Message), false);
                headType.FullName  = arr[arr.Length - 1] + " " + arr[arr.Length - 2];
                headType.FaceName  = arr[arr.Length - 1];
                headType.CrownType = CrownType.Undefined;
                headType.Gender    = new Gender?(Gender.None);
            }
            return(headType);
        }
Пример #27
0
        public static string GetHeadName(HeadType headType)
        {
            string head = "";

            switch (headType)
            {
            case HeadType.NoneHead:     //充数
                head = "ch_pc_hou_008_tou";
                break;

            case HeadType.Head1:
                head = "ch_pc_hou_004_tou";
                break;

            case HeadType.Head2:
                head = "ch_pc_hou_006_tou";
                break;

            default:
                break;
            }
            return(head);
        }
Пример #28
0
        public static List <HeadType> LoadHeads()
        {
            typeof(GraphicDatabaseHeadRecords).GetMethod("BuildDatabaseIfNecessary", BindingFlags.Static | BindingFlags.NonPublic).Invoke(null, null);
            string[] arr = new string[]
            {
                "Things/Pawn/Humanlike/Heads/Male",
                "Things/Pawn/Humanlike/Heads/Female",
                "Things/Pawn/Humanlike/Heads/Female"
            };
            var heads = new List <HeadType>();

            foreach (string text in arr)
            {
                GraphicDatabaseUtility.GraphicNamesInFolder(text);
                foreach (string str in GraphicDatabaseUtility.GraphicNamesInFolder(text))
                {
                    string   text2   = text + "/" + str;
                    HeadType newHead = CreateHeadFromFilePath(text2);
                    heads.Add(newHead);
                }
            }
            return(heads);
        }
Пример #29
0
 public Head( HeadType headType, string playerName )
     : base(0x1DA0)
 {
     m_HeadType = headType;
     m_PlayerName = playerName;
 }
Пример #30
0
 public Head(HeadType headType, string playerName)
     : base(0x1DA0)
 {
     m_HeadType   = headType;
     m_PlayerName = playerName;
 }
Пример #31
0
 public ToolHead(HeadType headType)
 {
     HeadType = headType;
 }
Пример #32
0
 public void SetViewByData(HeadType headType)
 {
 }
Пример #33
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();

			switch (version)
			{
				case 2:
					_Player = reader.ReadMobile<PlayerMobile>();
					goto case 1;
				case 1:
					{
						_HeadName = reader.ReadString();
						_TypeOf = (HeadType)reader.ReadEncodedInt();
					}
					goto case 0;
				case 0:
					break;
			}
		}
Пример #34
0
 public Head(HeadType headType, string playerName, Serial playerSerial)
     : this(headType, playerName, playerSerial, null)
 {
 }
Пример #35
0
 public Head(HeadType headType, string playerName, Serial playerSerial, PlayerMobile mobile)
     : this(headType, playerName, playerSerial, mobile, DateTime.Now)
 {
 }
Пример #36
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            switch ( version )
            {
                case 1:
                    m_PlayerName = reader.ReadString();
                    m_HeadType = (HeadType) reader.ReadEncodedInt();
                    break;

                case 0:
                    string format = this.Name;

                    if ( format != null )
                    {
                        if ( format.StartsWith( "the head of " ) )
                            format = format.Substring( "the head of ".Length );

                        if ( format.EndsWith( ", taken in a duel" ) )
                        {
                            format = format.Substring( 0, format.Length - ", taken in a duel".Length );
                            m_HeadType = HeadType.Duel;
                        }
                        else if ( format.EndsWith( ", taken in a tournament" ) )
                        {
                            format = format.Substring( 0, format.Length - ", taken in a tournament".Length );
                            m_HeadType = HeadType.Tournament;
                        }
                    }

                    m_PlayerName = format;
                    this.Name = null;

                    break;
            }
        }
Пример #37
0
 public Head(HeadType headType = HeadType.Regular, string playerName = null) : base(0x1DA0)
 {
     _headType   = headType;
     _playerName = playerName;
 }
Пример #38
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
                //bounty system
                case 4:
			        CreationTime = reader.ReadDateTime();
			        Killer = reader.ReadMobile();
			        IsPlayer = reader.ReadBool();
			        goto case 3;
                //end bounty system
                case 3:
			        m_Fame = reader.ReadInt();
			        goto case 2;
                case 2:
                    Owner = reader.ReadMobile();
                    goto case 1;
				case 1:
					m_PlayerName = reader.ReadString();
					m_HeadType = (HeadType) reader.ReadEncodedInt();
					break;

				case 0:
					string format = Name;

					if ( format != null )
					{
						if ( format.StartsWith( "the head of " ) )
							format = format.Substring( "the head of ".Length );

						if ( format.EndsWith( ", taken in a duel" ) )
						{
							format = format.Substring( 0, format.Length - ", taken in a duel".Length );
							m_HeadType = HeadType.Duel;
						}
						else if ( format.EndsWith( ", taken in a tournament" ) )
						{
							format = format.Substring( 0, format.Length - ", taken in a tournament".Length );
							m_HeadType = HeadType.Tournament;
						}
					}

					m_PlayerName = format;
					Name = null;

					break;
			}
		}
Пример #39
0
 public void ChangeHead(HeadType headType)
 {
     headState = headType;
     nextChangeTime = -1;
 }
Пример #40
0
 public Head( HeadType headType, string playerName, Serial playerSerial, PlayerMobile mobile, DateTime whenkilled )
     : base(0x1DA0)
 {
     m_HeadType = headType;
     m_PlayerName = playerName;
     m_PlayerSerial = playerSerial;
     m_Killer = mobile;
     m_WhenKilled = whenkilled;
 }
Пример #41
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
                case 6:
			        IsTown = reader.ReadBool();
                    goto case 5;
				case 5:
					_Owner = reader.ReadMobile<PlayerMobile>();
					goto case 4;
				case 4:
					_ExpireDate = reader.ReadDateTime();
					goto case 3;
				case 3:
					{
						_ExpireProcessed = reader.ReadBool();
						_Player = reader.ReadMobile<PlayerMobile>();
						_HeadName = reader.ReadString();
						_TypeOf = (HeadType)reader.ReadEncodedInt();
					}
					goto case 2;
				case 2:
				case 1:
				case 0:
					break;
			}

			if (_Player != null && TypeOf == HeadType.Regular && !Expired)
			{
				AllHeads.Add(this);
			}
		}
Пример #42
0
 public void Raise(HeadType toolType)
 {
     base.Raise(toolType);
     Logger.Log(string.Format("Raise long-head {0} {1},", Id, toolType == HeadType.Crease ? "crease" : "knife"));
 }