public SpellController_Explode(Message_ServerResponse_CreateSpellInStaticPosition spell, UnitySpellDefinition definition)
     : base(spell.request.TimeStartedCasting, definition.GetCastTimeInSeconds(spell.request.rank))
 {
     this.spell           = spell;
     this.unityDefinition = definition;
     InGameWrapper.instance.playersWrapper.GetPlayerByOwnerGUID(spell.request.ownerGUID).spellCaster.CastSpell(this, spell.request.playerXPos, spell.request.playerZPos);
 }
Beispiel #2
0
        public void Handle(object objData, Server_ServerClient client)
        {
            var data = (Message_ClientRequest_CreateSpellInStaticPosition)objData;
            Message_ServerResponse_CreateSpellInStaticPosition response = new Message_ServerResponse_CreateSpellInStaticPosition()
            {
                request = data,
                spellID = spellGUIDGenerator.GenerateGUID()
            };

            server.messageSender.SendToAll(response, server.clientManager.GetClients());
        }
    public void SpawnSpell(Message_ServerResponse_CreateSpellInStaticPosition spell, bool isMine)
    {
        var spellController = spellFactory.CreateSpell(spellData.GetSpellDefinition(spell.request.spellType), spell);

        spellsDictionary.Add(spell.spellID, spellController);
        if (isMine)
        {
            localSpells.Add(spellController);
        }
        else
        {
            onlineSpells.Add(spellController);
        }
    }
 public ISpellController CreateSpellController(Message_ServerResponse_CreateSpellInStaticPosition spell, UnitySpellDefinition definition)
 {
     return(new SpellController_Teleport(spell, definition));
 }