public Application( IWebSocketCore webSocketCore, IConnectionService connectionService, ILoginSystem loginSystem, ICommandSystem commandSystem, IMovementSystem movementSystem, IChatSystem chatSystem, IStoreSystem storeSystem, ICombatSystem combatSystem, IInventorySystem inventorySystem, ILocationSender locationSender, IChatSender chatSender, IJoinSender joinSender) { _webSocketCore = webSocketCore; _connectionService = connectionService; _commandSystem = commandSystem; _movementSystem = movementSystem; _chatSystem = chatSystem; _storeSystem = storeSystem; _combatSystem = combatSystem; _inventorySystem = inventorySystem; _loginSystem = loginSystem; _locationSender = locationSender; _chatSender = chatSender; _joinSender = joinSender; }
public AuraState(ICaster source, ICombatSystem target, Aura aura, object referenceObject) { AuraType = aura; Source = source; ReferenceObject = referenceObject; Target = target; }
public override void Execute() { Debug.Assert(DobjMonster != null); CombatSystem = Globals.CreateInstance <ICombatSystem>(x => { x.SetNextStateFunc = s => NextState = s; x.OfMonster = ActorMonster; x.DfMonster = DobjMonster; x.MemberNumber = MemberNumber; x.AttackNumber = AttackNumber; }); CombatSystem.ExecuteAttack(); if (NextState == null) { NextState = Globals.CreateInstance <IErrorState>(x => { x.ErrorMessage = string.Format("{0}: NextState == null", Name); }); } }
public virtual AuraState CreateState(ICaster source, ICombatSystem target, object referenceObject) { return(new AuraState(source, target, this, referenceObject)); }