public void UpdateBehaviour(HeroBehaviour behaviour) { for (int i = 0; i < BehaviourButtons.Length; i++) { BehaviourButtons[i].Enabled = (byte)behaviour != i; } }
public HeroBehaviourPanel() { AutoSize = false; Size = new Size(64, 17); DrawImage = false; Location = new Point(GameScene.Scene.MainDialog.Location.X + 165, GameScene.Scene.MainDialog.Location.Y + 37); BehaviourButtons = new MirButton[4]; for (int i = 0; i < BehaviourButtons.Length; i++) { HeroBehaviour hb = (HeroBehaviour)i; BehaviourButtons[i] = new MirButton { Index = 1840 + i, DisabledIndex = 1844 + i, Location = new Point(16 * i, 0), Library = Libraries.Prguse, Parent = this, Sound = SoundList.ButtonA, Hint = $"Hero Behaviour: {Enum.GetName(typeof(HeroBehaviour), i)}", AllowDisabledMouseOver = true }; BehaviourButtons[i].Click += (o, e) => { SetBehaviour(hb); }; } }
public HeroUnitController( EntityController.Select entityControllerSelect, HeroViewPresentor unitViewPresenter, BaseUnit.UnitCharacteristics unitCharacteristics, EntityController.GetTarget getTarget, EntityController.Faction faction, DeathDestroy updateDeath, EntityController.HeroResurrect heroResurrect, BaraksModel.SetUpdeteCharacteristicsDelegate setUpdeteCharacteristicsDelegate ) : base(entityControllerSelect, unitViewPresenter, unitCharacteristics, getTarget, faction, updateDeath, setUpdeteCharacteristicsDelegate) { this.updateDeath = updateDeath; EffectsController effectsController = new EffectsController(); this.heroResurrect = heroResurrect; unitBehaviour.CallDeathFSMEvent(); unitBehaviour = new HeroBehaviour( getTarget, faction, unitViewPresenter, animationController ); unitModel = new HeroUnit( "Unit", unitCharacteristics, SpellInit( effectsController ), faction, effectsController, _UpdateCharacteristics, UpdateDeath, LevelUpEffect, setUpdeteCharacteristicsDelegate, DeleteVisualEffect ); unitView = new HeroView( unitViewPresenter, Selected, GetDamage, ((HeroUnit)unitModel).GetXp ); }
// Use this for initialization void Start() { hero = this.GetComponent <HeroBehaviour> (); fireCounter = 0; mountCounter = 0; }
private void Start() { hero = GameObject.Find("Hero").GetComponent <HeroBehaviour>(); time = Time.time; }
private void SetBehaviour(HeroBehaviour behaviour) { Network.Enqueue(new C.SetHeroBehaviour { Behaviour = behaviour }); }
public UserInput(HeroBehaviour hero) { this.hero = hero; }
public virtual void Load(BinaryReader reader, int version, int customVersion) { Index = reader.ReadInt32(); Name = reader.ReadString(); if (version < 62) { Level = (ushort)reader.ReadByte(); } else { Level = reader.ReadUInt16(); } Class = (MirClass)reader.ReadByte(); Gender = (MirGender)reader.ReadByte(); Hair = reader.ReadByte(); CreationIP = reader.ReadString(); CreationDate = DateTime.FromBinary(reader.ReadInt64()); Banned = reader.ReadBoolean(); BanReason = reader.ReadString(); ExpiryDate = DateTime.FromBinary(reader.ReadInt64()); LastIP = reader.ReadString(); LastLogoutDate = DateTime.FromBinary(reader.ReadInt64()); if (version > 81) { LastLoginDate = DateTime.FromBinary(reader.ReadInt64()); } Deleted = reader.ReadBoolean(); DeleteDate = DateTime.FromBinary(reader.ReadInt64()); CurrentMapIndex = reader.ReadInt32(); CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32()); Direction = (MirDirection)reader.ReadByte(); BindMapIndex = reader.ReadInt32(); BindLocation = new Point(reader.ReadInt32(), reader.ReadInt32()); if (version <= 84) { HP = reader.ReadUInt16(); MP = reader.ReadUInt16(); } else { HP = reader.ReadInt32(); MP = reader.ReadInt32(); } Experience = reader.ReadInt64(); AMode = (AttackMode)reader.ReadByte(); PMode = (PetMode)reader.ReadByte(); if (version > 34) { PKPoints = reader.ReadInt32(); } int count = reader.ReadInt32(); Array.Resize(ref Inventory, count); for (int i = 0; i < count; i++) { if (!reader.ReadBoolean()) { continue; } UserItem item = new UserItem(reader, version, customVersion); if (Envir.BindItem(item) && i < Inventory.Length) { Inventory[i] = item; } } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { if (!reader.ReadBoolean()) { continue; } UserItem item = new UserItem(reader, version, customVersion); if (Envir.BindItem(item) && i < Equipment.Length) { Equipment[i] = item; } } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { if (!reader.ReadBoolean()) { continue; } UserItem item = new UserItem(reader, version, customVersion); if (Envir.BindItem(item) && i < QuestInventory.Length) { QuestInventory[i] = item; } } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { UserMagic magic = new UserMagic(reader, version, customVersion); if (magic.Info == null) { continue; } magic.CastTime = int.MinValue; Magics.Add(magic); } Thrusting = reader.ReadBoolean(); HalfMoon = reader.ReadBoolean(); CrossHalfMoon = reader.ReadBoolean(); DoubleSlash = reader.ReadBoolean(); MentalState = reader.ReadByte(); count = reader.ReadInt32(); for (int i = 0; i < count; i++) { Pets.Add(new PetInfo(reader, version, customVersion)); } AllowGroup = reader.ReadBoolean(); for (int i = 0; i < Globals.FlagIndexCount; i++) { Flags[i] = reader.ReadBoolean(); } GuildIndex = reader.ReadInt32(); AllowTrade = reader.ReadBoolean(); count = reader.ReadInt32(); for (int i = 0; i < count; i++) { QuestProgressInfo quest = new QuestProgressInfo(reader, version, customVersion); if (Envir.BindQuest(quest)) { CurrentQuests.Add(quest); } } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { Buff buff = new Buff(reader, version, customVersion); Buffs.Add(buff); } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { Mail.Add(new MailInfo(reader, version, customVersion)); } count = reader.ReadInt32(); for (int i = 0; i < count; i++) { UserIntelligentCreature creature = new UserIntelligentCreature(reader, version, customVersion); if (creature.Info == null) { continue; } IntelligentCreatures.Add(creature); } if (version == 45) { var old1 = (IntelligentCreatureType)reader.ReadByte(); var old2 = reader.ReadBoolean(); } PearlCount = reader.ReadInt32(); count = reader.ReadInt32(); for (int i = 0; i < count; i++) { CompletedQuests.Add(reader.ReadInt32()); } if (reader.ReadBoolean()) { CurrentRefine = new UserItem(reader, version, customVersion); } if (CurrentRefine != null) { Envir.BindItem(CurrentRefine); } CollectTime = reader.ReadInt64(); CollectTime += Envir.Time; count = reader.ReadInt32(); for (int i = 0; i < count; i++) { Friends.Add(new FriendInfo(reader, version, customVersion)); } if (version > 75) { count = reader.ReadInt32(); for (var i = 0; i < count; i++) { RentedItems.Add(new ItemRentalInformation(reader, version, customVersion)); } HasRentedItem = reader.ReadBoolean(); } Married = reader.ReadInt32(); MarriedDate = DateTime.FromBinary(reader.ReadInt64()); Mentor = reader.ReadInt32(); MentorDate = DateTime.FromBinary(reader.ReadInt64()); IsMentor = reader.ReadBoolean(); MentorExp = reader.ReadInt64(); if (version >= 63) { int logCount = reader.ReadInt32(); for (int i = 0; i < logCount; i++) { GSpurchases.Add(reader.ReadInt32(), reader.ReadInt32()); } } if (version > 98) { count = reader.ReadInt32(); if (version > 102) { for (int i = 0; i < count; i++) { Heroes.Add(Envir.GetHeroInfo(reader.ReadInt32())); } } else { for (int i = 0; i < count; i++) { Heroes.Add(new HeroInfo(reader, version, customVersion)); } } MaximumHeroCount = reader.ReadInt32(); CurrentHeroIndex = reader.ReadInt32(); HeroSpawned = reader.ReadBoolean(); } if (version > 100) { HeroBehaviour = (HeroBehaviour)reader.ReadByte(); } }