コード例 #1
0
        private void OnCursorChanged(GUCMainMenu sender)
        {
            if (cursor >= 0 && cursor < _Characters.Length)
            {
                Character.Character character = _Characters[cursor];

                _CharacterNameText.Text = character.Name;
                _CharacterNameText.Show();
                _CharacterDisplay.SetVisual(character.Template.Model.BaseDef.Visual);

                //We have custom visuals from the server because it is a human character.
                if (character is HumanCharacter humanCharacter)
                {
                    HumanCharacterVisuals visuals = humanCharacter.CharacterVisuals;
                    _CharacterDisplay.SetAdditionalVisuals(visuals.BodyMesh.ToString(), (int)visuals.BodyTex, visuals.HeadMesh.ToString(), (int)visuals.HeadTex);
                    _CharacterDisplay.SetFatness(visuals.Fatness);
                    _CharacterDisplay.SetScale(new Types.Vec3f(visuals.BodyWidth, 1.0f, visuals.BodyWidth));
                }
                else
                {
                    //Its a non human character, take the visuals from the template.
                    _CharacterDisplay.SetAdditionalVisuals(character.Template.BodyMesh, character.Template.BodyTex, character.Template.HeadMesh, character.Template.HeadTex);
                    _CharacterDisplay.SetFatness(1);
                    _CharacterDisplay.SetScale(new Types.Vec3f(1.0f, 1.0f, 1.0f));
                }
            }
        }
コード例 #2
0
 public override void Notify(ref Character.Character c)
 {
     foreach (Variables.Statement.Assignment assig in Assignments)
     {
         c.VarTable = assig.Evaluate(c.VarTable);
     }
 }
コード例 #3
0
ファイル: GuidancePotion.cs プロジェクト: sortbek/amazed
        public GuidancePotion(Character.Character character) : base(character)
        {
            Texture = (Texture)Resources.Load("Sprites/potion_guidance", typeof(Texture));

            Duration = 10;
            Amount   = 1;
        }
コード例 #4
0
 public void OnFirstEnter(ref Character.Character c)
 {
     foreach (SegmentEventHandler evh in OnFirstEnterList)
     {
         evh.Notify(ref c);
     }
 }
コード例 #5
0
 public HealthPotion(Character.Character character) : base(character)
 {
     Texture  = (Texture)Resources.Load("Sprites/potion_health", typeof(Texture));
     Boost    = 30;
     Duration = 0;
     Amount   = 2;
 }
コード例 #6
0
        //TODO: this needs more work done and also need to figure out a nice way to display it to the user
        private static void DisplayStats(User.User player, List <string> commands)
        {
            Character.Character character = player.Player as Character.Character;
            if (character != null)
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("You are currently " + character.ActionState.ToString().ToUpper() + " and " + character.StanceState.ToString().ToUpper());
                sb.AppendLine("\nName: " + character.FirstName.CamelCaseWord() + " " + character.LastName.CamelCaseWord());
                sb.AppendLine("Level : " + character.Level);
                sb.AppendLine("Class: " + character.Class);
                sb.AppendLine("Race: " + character.Race);
                sb.AppendLine("XP: " + (long)character.Experience);
                sb.AppendLine("Next Level XP required: " + (long)character.NextLevelExperience + " (Needed: " + (long)(character.NextLevelExperience - character.Experience) + ")");
                sb.AppendLine("\n[Attributes]");
                foreach (KeyValuePair <string, Character.Attribute> attrib in player.Player.GetAttributes())
                {
                    sb.AppendLine(string.Format("{0,-12}: {1}/{2,-3}    Rank: {3}", attrib.Key.CamelCaseWord(), attrib.Value.Value, attrib.Value.Max, attrib.Value.Rank));
                }

                sb.AppendLine("\n[Sub Attributes]");
                foreach (KeyValuePair <string, double> attrib in player.Player.GetSubAttributes())
                {
                    sb.AppendLine(attrib.Key.CamelCaseWord() + ": \t" + attrib.Value);
                }

                sb.AppendLine("Description/Bio: " + player.Player.Description);
                player.MessageHandler(sb.ToString());
            }
        }
コード例 #7
0
        public InventoryWindow(Character.Character player)
        {
            Player = player;
            Title = LanguageConfig.Config.Inventory;
            Opacity = 255;

            SelectedItemIndex = -1;
            SelectedEquipmentIndex = -1;
            BackgroundColor = Color.White;

            itemSlots = new Vector2(5, 11);
            itemSlotSize = new Vector2(46, 46);
            equipmentSlotSize = new Vector2(66, 66);
            textPadding = new Vector2(74, 0);
            borderPadding = new Vector2(10, 10);

            Width = GameGraphics.InventoryBackground.Width;
            Height = GameGraphics.InventoryBackground.Height;

            EquipmentSlots = new List<ItemSlot>();
            itemDetailsFont = Fonts.Arial12;
            scrollbar = new Rectangle();

            ItemSlotBackground = GameGraphics.ItemSlotBackground;
        }
コード例 #8
0
        // TODO: This could be a little smarter.
        // TODO: E.g. if damage is negative, it implies healing, which we'd want to apply to ourself.
        // TODO: E.g. if spell has AOE, ensure we pick a target that does not implicate ourself in the damage radius.
        public Character.Character FindDefaultTarget(CharacterContext context)
        {
            float sqClosest = float.MaxValue;

            Character.Character bestCharacter = null;

            foreach (var character in context.Dungeon.Characters)
            {
                if (character == context.Self)
                {
                    continue;
                }

                if (context.FieldOfView.ContainsKey(character.Position))
                {
                    var sqDist = math.distancesq(character.Position, context.Self.Position);
                    if (sqDist < sqClosest)
                    {
                        sqClosest     = sqDist;
                        bestCharacter = character;
                    }
                }
            }

            if (bestCharacter != null)
            {
                return(bestCharacter);
            }

            return(context.Self);
        }
コード例 #9
0
        public void SetDisplayCharacter(Character.Character character)
        {
            if (character == null)
            {
                throw new ArgumentNullException(nameof(character));
            }

            _CharacterNameText.Text = character.Name;
            _CharacterNameText.Show();
            _Character.SetVisual(character.Template.Model.BaseDef.Visual);

            //We have custom visuals from the server because it is a human character.
            if (character is HumanCharacter humanCharacter)
            {
                HumanCharacterVisuals visuals = humanCharacter.CharacterVisuals;
                _Character.SetAdditionalVisuals(visuals.BodyMesh.ToString(), (int)visuals.BodyTex, visuals.HeadMesh.ToString(), (int)visuals.HeadTex);
                _Character.SetFatness(visuals.Fatness);
                _Character.SetScale(new Types.Vec3f(visuals.BodyWidth, 1.0f, visuals.BodyWidth));
            }
            else
            {
                //Its a non human character, take the visuals from the template.
                _Character.SetAdditionalVisuals(character.Template.BodyMesh, character.Template.BodyTex, character.Template.HeadMesh, character.Template.HeadTex);
                _Character.SetFatness(1);
                _Character.SetScale(new Types.Vec3f(1.0f, 1.0f, 1.0f));
            }

            _DisplayCharacterIsHidden = false;
        }
コード例 #10
0
 public HealthRegenerationPotion(Character.Character character) : base(character)
 {
     Texture  = (Texture)Resources.Load("Sprites/potion_regen", typeof(Texture));
     Boost    = 4;
     Duration = 10;
     Amount   = 1;
 }
コード例 #11
0
        public ICharacter AddCharacter(Guid guid, CharacterData characterData, IRoom room) // PC
        {
            ICharacter character = new Character.Character(guid, characterData, room);

            _characters.Add(character);
            return(character);
        }
コード例 #12
0
ファイル: Weapon.cs プロジェクト: tuita520/SiegeOnline
 public override bool Cancel(Character.Character character)
 {
     if (base.Cancel(character))
     {
         character.Attribute.WeaponExtraAttackSpeed    = 0;
         character.Attribute.WeaponExtraAttackDistance = 0;
         if (AttackLimit.ContainsKey(WeaponAttackType.Physical))
         {
             character.Attribute.AttackPhysicalMin -= AttackLimit[WeaponAttackType.Physical].Key;
             character.Attribute.AttackPhysicalMax -= AttackLimit[WeaponAttackType.Physical].Value;
         }
         if (AttackLimit.ContainsKey(WeaponAttackType.Magic))
         {
             character.Attribute.AttackMagicMin -= AttackLimit[WeaponAttackType.Magic].Key;
             character.Attribute.AttackMagicMax -= AttackLimit[WeaponAttackType.Magic].Value;
         }
         foreach (KeyValuePair <int, KeyValuePair <AttributeCode, float> > attribute in ForgingAttributes)
         {
             if (attribute.Key > 0)
             {
                 UpdateCharacterAttribute(character, attribute.Value, true);
             }
         }
         foreach (KeyValuePair <AttributeCode, float> attribute in ElementAttributes.Value)
         {
             UpdateCharacterAttribute(character, attribute, false);
         }
         character.Attribute.CalculateAttributes();
         return(true);
     }
     return(false);
 }
コード例 #13
0
ファイル: Campaign.cs プロジェクト: GregoBalu/Leviathan
        public bool MoveTo(Int32 id, ref Character.Character c)
        {
            if (CanGoTo(id, c.VarTable))
            {
                if (Current.IsFirst)
                {
                    Current.OnFirstExit(ref c);
                }
                else
                {
                    Current.OnExit(ref c);
                }

                _current = id;

                if (Current.IsFirst)
                {
                    Current.OnFirstEnter(ref c);
                }
                else
                {
                    Current.OnEnter(ref c);
                }
            }
            return(false);
        }
コード例 #14
0
        protected new void AddItem(string[] inputParams)
        {
            Character.Character characterToAcceptIitem = GetCharacterById(inputParams[1]);
            Item.Item           itemToAdd;
            switch (inputParams[2].ToLower())
            {
            case "axe":
                itemToAdd = new Axe(inputParams[3]);
                characterToAcceptIitem.AddToInventory(itemToAdd);
                break;

            case "shield":
                itemToAdd = new Shield(inputParams[3]);
                characterToAcceptIitem.AddToInventory(itemToAdd);
                break;

            case "pill":
                itemToAdd = new Pill(inputParams[3]);
                characterToAcceptIitem.AddToInventory(itemToAdd);
                break;

            case "injection":
                itemToAdd = new Injection(inputParams[3]);
                characterToAcceptIitem.AddToInventory(itemToAdd);
                break;

            default:
                break;
            }
        }
コード例 #15
0
ファイル: GameManager.cs プロジェクト: sortbek/amazed
 // Created by:
 // Hugo Kamps
 // S1084074
 // Gets the needed GameObjects needed for the transition to new levels
 public void SetGameObjects()
 {
     if (Character == null)
     {
         Character = FindObjectOfType <Character.Character>();
     }
 }
コード例 #16
0
ファイル: GoapMovingState.cs プロジェクト: sortbek/amazed
 public GoapMovingState(GoapAgent agent) : base(agent)
 {
     _pathFollowing          = new EntityPathFollowingBehaviour(agent.Entity);
     _seek                   = new EntitySeekBehaviour(agent.Entity);
     _character              = GameManager.Instance.Character;
     _character.NodeChanged += CharacterNodeChanged;
 }
コード例 #17
0
ファイル: SpeedPotion.cs プロジェクト: sortbek/amazed
 public SpeedPotion(Character.Character character) : base(character)
 {
     Texture  = (Texture)Resources.Load("Sprites/potion_speed", typeof(Texture));
     Boost    = 1.5f;
     Duration = 10;
     Amount   = 1;
 }
コード例 #18
0
        public LoadCharacterDialog(Database database)
        {
            Characters        = new List <Character.Character>();
            this.database     = database;
            SelectedCharacter = null;

            InitializeComponent();
        }
コード例 #19
0
 public MeleeAttack(Character.Character attacker, GameObject target, int delay, SpriteAnimation targetAnimation)
 {
     Delay = delay;
     Attacker = attacker;
     Target = target;
     TargetAnimation = targetAnimation;
     Timer = 0;
 }
コード例 #20
0
		public LoadCharacterDialog(Database database)
		{
			Characters = new List<Character.Character>();
			this.database = database;
			SelectedCharacter = null;

			InitializeComponent();
		}
コード例 #21
0
 public void OnFirstExit(ref Character.Character c)
 {
     IsFirst = false;
     foreach (SegmentEventHandler evh in OnFirstExitList)
     {
         evh.Notify(ref c);
     }
 }
コード例 #22
0
ファイル: User.cs プロジェクト: vadian/Novus
 public User()
 {
     _userBuffer    = new ClientHandling.MessageBuffer();
     CurrentState   = UserState.JustConnected;
     UserID         = new Guid().ToString();
     _character     = CharacterFactory.Factory.CreateCharacter(CharacterEnums.CharacterType.PLAYER, CharacterEnums.CharacterRace.HUMAN, CharacterEnums.CharacterClass.FIGHTER);
     LoginCompleted = false;
 }
コード例 #23
0
 private void OnKnownEnemyDeath(Character.Character character)
 {
     if (_knownEnemyInfos.ContainsKey(character))
     {
         var info = _knownEnemyInfos[character];
         GameObject.Destroy(info.gameObject);
         _knownEnemyInfos.Remove(character);
     }
 }
コード例 #24
0
 private static bool CheckStats(Character.Character character, IList <int> expectedStats, string size) =>
 expectedStats[0] == character.Strength.ToInteger() &&
 expectedStats[1] == character.Dexterity.ToInteger() &&
 expectedStats[2] == character.Constitution.ToInteger() &&
 expectedStats[3] == character.Intelligence.ToInteger() &&
 expectedStats[4] == character.Wisdom.ToInteger() &&
 expectedStats[5] == character.Charisma.ToInteger() &&
 expectedStats[6] == character.Race.Speed.ToInteger() &&
 size == character.Race.Size.ToString();
コード例 #25
0
		private void ListBoxCharactersSelectedIndexChanged(object sender, EventArgs e)
		{
			if (listBoxCharacters.SelectedIndex < 0 || listBoxCharacters.SelectedIndex >= Characters.Count)
				return;

			SelectedCharacter = Characters[listBoxCharacters.SelectedIndex];
			DialogResult = DialogResult.OK;
			Close();
		}
コード例 #26
0
ファイル: EnemyManager.cs プロジェクト: cl4nk/RPGRogueLike
 public void IncreaseStatsBasedOnLevel(GameObject enemy, int level)
 {
     Character.Character c = enemy.GetComponent <Character.Character>();
     c.Strength     += stepStrength * level;
     c.Dexterity    += stepDexterity * level;
     c.Constitution += stepConstitution * level;
     c.Intelligence += stepIntelligence * level;
     c.RecalculateCharacterStats();
 }
コード例 #27
0
        public void Update(GameTime gameTime, Character.Character player)
        {
            Player = player;
            healthPerc = (player.Stats.Hp*100)/player.Stats.MaxHp;
            staminaPerc = player.Stats.MaxStamina > 0 ? (player.Stats.Stamina*100)/player.Stats.MaxStamina : 0;
            resourcePerc = player.Stats.MaxMana > 0 ? (player.Stats.Mana*100)/player.Stats.MaxMana : 0;

            float currParcialXp = Player.Stats.Experience - Character.Character.TotalExpForLevel(Player.Stats.Level);
            expPerc = (currParcialXp*100)/Character.Character.TotalExpForLevel(Player.Stats.Level + 1);
        }
コード例 #28
0
        //todo: rewrite
        /// <summary>
        /// Can character take a talent
        /// </summary>
        /// <param name="character">Character than request access</param>
        /// <returns></returns>
        public bool PrerequisiteAccess(Character.Character character)
        {
            bool hasAccess           = false;
            int  prerquisiteAccessed = 0;

            foreach (var item in Prerequisites)
            {
                switch (item.Item1.Name)
                {
                case "Talent":              //todo: update with specialization
                    if (character.Talents.Contains(TalentList.Talents.Where(t => t.Name == item.Item2).FirstOrDefault()))
                    {
                        prerquisiteAccessed++;
                    }
                    break;

                case "Characteristic":
                    if (character.Characteristics.Where(c => c.Name.ToString() == item.Item2).FirstOrDefault().Value >= item.Item4)
                    {
                        prerquisiteAccessed++;
                    }
                    break;

                case "Trait":
                    if (character.Traits.Contains(Traits.TraitList.Traits.Where(t => t.Name == item.Item2).FirstOrDefault()))
                    {
                        prerquisiteAccessed++;
                    }
                    break;

                case "Item":
                    if (character.Gear.Where(i => i.Name == item.Item2).FirstOrDefault() != null)
                    {
                        prerquisiteAccessed++;
                    }
                    break;

                case "CommonSkills":
                    if (character.CommonSkills.Where(c => c.Name.ToString() == item.Item2).FirstOrDefault().Rank >= (Ranking)item.Item4)
                    {
                        prerquisiteAccessed++;
                    }
                    break;

                case "SpecializedSkills":              //todo: update with specialization
                    if (character.SpecializedSkills.Where(c => c.Name.ToString() == item.Item2).FirstOrDefault().Rank >= (Ranking)item.Item4)
                    {
                        prerquisiteAccessed++;
                    }
                    break;
                }
            }

            return(hasAccess);
        }
コード例 #29
0
ファイル: PotionRunnable.cs プロジェクト: sortbek/amazed
        public PotionRunnable(Character.Character player, Potion potion)
        {
            _potion = potion;
            _player = player;
            _thread = new Thread(Run);

            _timer = new Timer {
                Interval = 1000
            };
            _timer.Elapsed += DisplayTimeEvent;
        }
コード例 #30
0
        private void ListBoxCharactersSelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBoxCharacters.SelectedIndex < 0 || listBoxCharacters.SelectedIndex >= Characters.Count)
            {
                return;
            }

            SelectedCharacter = Characters[listBoxCharacters.SelectedIndex];
            DialogResult      = DialogResult.OK;
            Close();
        }
コード例 #31
0
        public ICharacter AddCharacter(Guid guid, CharacterBlueprint blueprint, IRoom room) // NPC
        {
            if (blueprint == null)
            {
                throw new ArgumentNullException(nameof(blueprint));
            }
            ICharacter character = new Character.Character(guid, blueprint, room);

            _characters.Add(character);
            return(character);
        }
コード例 #32
0
        public int SavingThrow(Character.Character character)
        {
            var d20  = new D20();
            var roll = d20.Roll() + Modifier;

            if (SavingThrowProficiency)
            {
                roll += character.Class.ProfBonus;
            }

            return(roll);
        }
コード例 #33
0
ファイル: Container.cs プロジェクト: ptrefall/fluid_roguelike
        private List <Item.Item> SpawnLoot(Character.Character character)
        {
            List <Item.Item> loot = new List <Item.Item>();
            var numToSpawn        = Random.Range(_meta.MinLootDrops, _meta.MaxLootDrops + 1);

            if (_meta.AlwaysDropLootItems.Count > 0)
            {
                numToSpawn -= _meta.AlwaysDropLootItems.Count;
                if (_meta.AlwaysDropLootItems.Count >= _meta.MaxLootDrops && _meta.LootItems.Count > 0)
                {
                    Debug.LogError("Random loot will never drop. Always drop loot takes up all the slots");
                }

                foreach (var entry in _meta.AlwaysDropLootItems)
                {
                    SpawnLootEntry(character, entry, loot);
                }
            }

            if (numToSpawn <= 0)
            {
                return(loot);
            }

            var lootPool = new List <LootDbEntry>(_meta.LootItems);

            for (var i = 0; i < numToSpawn; i++)
            {
                var totalWeight = 0f;
                foreach (var entry in lootPool)
                {
                    totalWeight += entry.DropChance;
                }

                var targetWeight = UnityEngine.Random.value * totalWeight;
                foreach (var entry in lootPool)
                {
                    targetWeight -= entry.DropChance;
                    if (targetWeight <= 0)
                    {
                        if (!entry.CanDropMultipleTimes)
                        {
                            lootPool.Remove(entry);
                        }

                        SpawnLootEntry(character, entry, loot);
                        break;
                    }
                }
            }

            return(loot);
        }
コード例 #34
0
        public bool TryInteract(Character.Character character)
        {
            foreach (var interaction in _interactions)
            {
                if (interaction.TryInteract(character))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #35
0
        public void Use(CharacterContext context, Character.Character target)
        {
            var dir = (target.Position - context.Self.Position);
            var targetDodgeChance = target.Dodge * 0.01f;

            if (UnityEngine.Random.value < targetDodgeChance)
            {
                Debug.Log($"{target.name} dodged {context.Self.name}'s attack!");
                if (_missedEffectPrefab != null)
                {
                    var fx = GameObject.Instantiate(_missedEffectPrefab, new Vector3(target.Position.x, target.Position.y, 0), Quaternion.identity);
                    fx.Setup(dir);
                }
                return;
            }

            Debug.Log($"{context.Self.name} {_attackVerb} {target.name}!");

            var crit = UnityEngine.Random.value < _critChance;

            if (crit)
            {
                target.Health -= _damage * 2;
                target.AddTimedStatus(CharacterStatusType.Stunned, 2);
                Debug.Log($"{target.name} got stunned!");
                if (_criticalHitEffectPrefab != null)
                {
                    var fx = GameObject.Instantiate(_criticalHitEffectPrefab,
                                                    new Vector3(target.Position.x, target.Position.y, 0), Quaternion.identity);

                    fx.Setup(dir);
                }
                else if (_hitEffectPrefab != null)
                {
                    var fx = GameObject.Instantiate(_hitEffectPrefab, new Vector3(target.Position.x, target.Position.y, 0),
                                                    Quaternion.identity);

                    fx.Setup(dir);
                }
            }
            else
            {
                target.Health -= _damage;
                if (_hitEffectPrefab != null)
                {
                    var fx = GameObject.Instantiate(_hitEffectPrefab, new Vector3(target.Position.x, target.Position.y, 0),
                                                    Quaternion.identity);

                    fx.Setup(dir);
                }
            }
        }
コード例 #36
0
        public StatsWindow(Character.Character Player)
        {
            Title = Player.Name;
            this.Player = Player;
            Width = 560;
            Height = 600;
            Opacity = 255;
            BackgroundColor = Color.White;

            textPadding = new Vector2(115, 0);
            Position = new Vector2(
                GameConfig.Config.WindowWidth/2 - Width/2,
                GameConfig.Config.WindowHeight/2 - Height/2);
        }
コード例 #37
0
ファイル: CharacterFactory.cs プロジェクト: jandar78/Novus
		public static IActor CreateCharacter(CharacterType characterType, int MobTypeID = 0) {
			IActor character = null;

			switch (characterType) {
				case CharacterType.NPC:
                    if (MobTypeID != 0) {
                        character = CreateNPCCharacter(MobTypeID).Result;
                    }
                    else {
                        character = CreateNPCCharacterHusk();
                    }
					break;
                case CharacterType.PLAYER:
                    character = new Character.Character();
                    break;
				default: character = null;
					break;
			}

			return character;
		}
コード例 #38
0
        public DebugWindow(LotusGame Game)
        {
            Player = Game.Player;
            game = Game;
            Width = 560;
            Height = 600;
            Opacity = 255;
            BackgroundColor = Color.White;

            addLevel = new Button("Add Level");
            addLevel.Clicked += addLevel_Clicked;

            btnSaveGame = new Button("Save Game");
            btnSaveGame.Clicked += btnSaveGame_Clicked;

            Controls = new List<Button>();
            Controls.Add(addLevel);
            Controls.Add(btnSaveGame);
            Position = new Vector2(
                GameConfig.Config.WindowWidth/2 - Width/2,
                GameConfig.Config.WindowHeight/2 - Height/2);
        }
コード例 #39
0
		private void DatabaseLoad(string filename)
		{
			try
			{
				database.Load(filename);
			}
			catch (Exception e)
			{
				ExceptionDialog exceptionDialog = new ExceptionDialog("Database appears to be corrupted!", e);
				exceptionDialog.ShowDialog(this);

				return;
			}
			
			Characters.Clear();
			listBoxCharacters.Items.Clear();

			try
			{
				int characterCount = database.ReadBlobByKey("num")[0];
				for (int i = 0; i < characterCount; ++i)
				{
					Character.Character character = new Character.Character(i);
					character.Load(database);

					Characters.Add(character);
					listBoxCharacters.Items.Add(character.Name);
				}
			}
			catch (Exception e)
			{
				ExceptionDialog exceptionDialog = new ExceptionDialog("Database appears to be corrupted!", e);
				exceptionDialog.ShowDialog(this);

				Characters.Clear();
				listBoxCharacters.Items.Clear();
			}
		}
コード例 #40
0
ファイル: Editor.cs プロジェクト: joshb910/CharacterEditor
        private void LoadCharacterDatabase()
        {
            Enabled = false;

            LoadCharacter loadCharacter = new LoadCharacter(database)
            {
                StartPosition = FormStartPosition.CenterParent
            };

            DialogResult result = loadCharacter.ShowDialog(this);

            if (result == DialogResult.OK)
            {
                character = loadCharacter.SelectedCharacter;

                SyncCharacterDataToGui();
            }

            Enabled = character != null;
        }
コード例 #41
0
 public OnScreenInfo(Character.Character player)
 {
     Player = player;
 }
コード例 #42
0
        public override void UpdateMouseInput()
        {
            if (!Game.Paused)
            {
                #region Check enemy hover

                currentTarget = null;
                foreach (Npc npc in Game.CurrentMap.MapNpcs.FindAll(x => x.IsAlive))
                {
                    var rect = new Rectangle(
                        (int)(npc.Position.X - npc.CollisionRadius),
                        (int)(npc.Position.Y - npc.CollisionRadius),
                        (int)npc.CollisionRadius * 2,
                        (int)npc.CollisionRadius * 2);

                    if (rect.Contains(InputManager.MouseToMapPoint))
                        currentTarget = npc;
                }

                foreach (Enemy en in AliveEnemies)
                {
                    var rect = new Rectangle(
                        (int)(en.Position.X - en.CollisionRadius),
                        (int)(en.Position.Y - en.CollisionRadius),
                        (int)en.CollisionRadius * 2,
                        (int)en.CollisionRadius * 2);

                    if (rect.Contains(InputManager.MouseToMapPoint))
                        currentTarget = en;
                }

                #endregion
            }
        }
コード例 #43
0
ファイル: Editor.cs プロジェクト: Julyuary/CharacterEditor
		private void LoadCharacterDatabase()
		{
			Enabled = false;

			LoadCharacterDialog loadCharacter = new LoadCharacterDialog(database)
			{
				StartPosition = FormStartPosition.CenterParent
			};

			DialogResult result = loadCharacter.ShowDialog(this);

			if (result == DialogResult.OK)
			{
				tabControlInventory.TabPages.Clear();
				tabControlEquipment.TabPages.Clear();

				character = loadCharacter.SelectedCharacter;

				SyncCharacterDataToGui();
			}

			Enabled = character != null;
		}