Ejemplo n.º 1
0
    void setNewSpellDir(Vector3 origin, Vector3 target, int InstantiateID, int OwnerID, PhotonMessageInfo info)
    {
        double timestamp = info.timestamp;

        m_sceneAbilities.RemoveAll(item => item = null);
        SpellData spell = m_sceneAbilities.Find(item => item.InstantiateID() == InstantiateID);

        if (spell == null)
        {
            Debug.Log("Spell is null!!!!");
        }
        SpellMovement spellMove = spell.GetComponent <SpellMovement>();

        spell.setOwnerID(OwnerID);
        for (int i = 0; i < charMananager.Players.Count; i++)
        {
            if (charMananager.Players[i].playerID == OwnerID)
            {
                spell.setOwner(charMananager.Players[i].GetComponent <SpellManager>());
            }
        }
        spellMove.SetCreationTime(timestamp);
        spellMove.SetStartPosition(origin);
        spellMove.SetSpellDirection(origin, target);
    }
Ejemplo n.º 2
0
    public void CreateProjectile(Vector3 startPos, Vector3 targetPos, double createTime, int ownerID, int spellID, int instantiateID)
    {
        GameObject go        = (GameObject)Instantiate(Spell[spellID], startPos, Quaternion.identity);
        SpellData  spellData = go.GetComponent <SpellData>();

        audio.PlayOneShot(spellData.CastSound());
        SpellMovement projectileMovement = go.GetComponent <SpellMovement>();

        spellData.setOwnerID(ownerID);
        if (ownerID == GetComponent <CharacterManager_NET>().playerID)
        {
            spellData.setOwner(this);
        }
        spellData.setInstantiateID(instantiateID);
        projectileMovement.SetCreationTime(createTime);
        projectileMovement.SetStartPosition(startPos);
        projectileMovement.SetSpellDirection(startPos, targetPos);
        m_sceneAbilities.Add(spellData);
    }