Пример #1
0
    //#Skill

    private GameObject spawnSkillEffect(SkillCastInfo skillcastInfo)
    {
        GameObject skillEffect = Instantiate((GameObject)Resources.Load(skillcastInfo.pathToEffect));

        skillEffect.transform.position = skillcastInfo.targetPosition;
        skillEffect.transform.rotation = Quaternion.Euler(skillcastInfo.rotationInEuler);
        return(skillEffect);
    }
Пример #2
0
    private void onReturnSkill(NetworkMessage netMsg)
    {
        SkillCastInfo skillcastInfo = netMsg.ReadMessage <SkillCastInfo>();

        if (skillcastInfo.netId == this.GetComponent <NetworkIdentity>().netId)
        {
            return;
        }

        GameObject skillEffect = spawnSkillEffect(skillcastInfo);

        skillEffect.GetComponent <KillParticles>().fromServer = true;
        if (skillcastInfo.skillType.Equals("target"))
        {
            StartCoroutine(updateSkillPosition(ClientScene.FindLocalObject(skillcastInfo.enemyNetId), skillEffect, skillcastInfo.offset));
        }
    }
Пример #3
0
    private void createSkill(string pathToEffect, Vector3 spawnPositionOffset, GameObject target, Vector3 rotationInEuler, string type, int range, Vector3 spawnPosition, MobManager m)
    {
        SkillCastInfo skillInfo = new SkillCastInfo();

        skillInfo.pathToEffect    = pathToEffect;
        skillInfo.offset          = spawnPositionOffset;
        skillInfo.targetPosition  = new Vector3(spawnPosition.x + spawnPositionOffset.x, spawnPosition.y + spawnPositionOffset.y, spawnPosition.z + spawnPositionOffset.z);      //new Vector3(target.transform.position.x + spawnPositionOffset.x, target.transform.position.y + spawnPositionOffset.y, target.transform.position.z + spawnPositionOffset.z);
        skillInfo.rotationInEuler = rotationInEuler;
        skillInfo.netId           = this.GetComponent <NetworkIdentity>().netId;
        skillInfo.skillType       = type;
        skillInfo.range           = range;
        GameObject o = spawnSkillEffect(skillInfo);

        o.transform.localScale = new Vector3(target.transform.lossyScale.x * 4, target.transform.lossyScale.y * 4, target.transform.lossyScale.z * 4);
        StartCoroutine(updateSkillPosition(target, o, spawnPositionOffset));
        if (target != null)
        {
            skillInfo.enemyNetId = target.GetComponent <NetworkIdentity>().netId;
            o.GetComponent <SkillCastManager>().targetEntity = m;
            m.targeted = true;
        }
        con.Send(PacketTypes.CREATE_SKILL, skillInfo);
    }