Ejemplo n.º 1
0
        void playEnemyDefiance(ActorView enemy)
        {
            LogicEvent.fire("onPlayTaunt", enemy.id);
            var self = SceneViews.instance.getCurFBScene().getMainActor();

            around(enemy, self);
        }
Ejemplo n.º 2
0
    public ActorView SpawnThing(ActorModel m)
    {
        ActorView r = Instantiate(Thing).GetComponent <ActorView>();

        r.Setup(m);
        return(r);
    }
Ejemplo n.º 3
0
        public static void doProgress(ActorMovingAction actionObject, float progress)
        {
            if (actionObject.ignoreTimeAction)
            {
                return;
            }

            ActorView entity = SceneViews.instance.getCurFBScene().getSceneEntity <ActorView>(actionObject.objectID);

            if (entity.startSamplePosition.HasValue)
            {
                if (entity.isRunState())
                {
                    var speed = (new Vector3(actionObject.targetPosition.x, 0.0f, actionObject.targetPosition.y) - entity.startSamplePosition.Value).magnitude * 60.0f;
                    entity.updateAnimtorSpeed(speed, actionObject.moveType);
                    entity.animator.SetFloat("moveType", (float)actionObject.moveType);
                    entity.showRunEffect();
                }
            }

            //获取本次移动位置
            Vector3 thisEndPostion = MovingProcessorUtility.getMovePosition(entity.startSamplePosition, actionObject.targetPosition, progress);

            entity.setPosition(thisEndPostion);
        }
Ejemplo n.º 4
0
    public virtual ActorView createActor(uint id,
                                         FBTeam team,
                                         string avatarName,
                                         Dictionary <string, string> avatarPart,
                                         float[] runAnimiationNormalSpeed,
                                         float height,
                                         bool gk,
                                         string name,
                                         FiveElements element,
                                         uint roleId)
    {
        ActorView  se = null;
        GameObject ga = ModelResourceLoader.inst.createAvatar(avatarName, avatarPart, go => onActorLoaded(se, go));

        ga.transform.parent = this.transform;
        se        = ga.AddComponent <ActorView>();
        se.id     = id;
        se.testId = id;
        se.team   = team;
        se.runAnimiationNormalSpeed = runAnimiationNormalSpeed;
        se.height   = height;
        se.gk       = gk;
        se.nickName = name;
        se.element  = element;
        se.roleId   = roleId;

        se.onCreate();
        sceneEntityList.Add(id, se);

        return(se);
    }
Ejemplo n.º 5
0
    void editor_onActorPassBallOut(ActorView actor)
    {
        if (actorEffect != null)
        {
            GameObject   ga    = GameObject.Instantiate(actorEffect);
            DelayDestroy delay = ga.AddComponent <DelayDestroy>();
            delay.destroyTime = 5.0f;
            if (actorEffectPoint == null)
            {
                ga.transform.parent = actor.transform;
            }
            else
            {
                ga.transform.parent = actorEffectPoint;
            }
            ga.transform.localPosition = Vector3.zero;
        }

        if (ballTailEffect != null)
        {
            GameObject   ga    = GameObject.Instantiate(ballTailEffect);
            DelayDestroy delay = ga.AddComponent <DelayDestroy>();
            delay.destroyTime          = 10.0f;
            ga.transform.parent        = SceneViews.instance.getCurFBScene().ball.transform;
            ga.transform.localPosition = Vector3.zero;
        }
    }
    public ActorView SpawnThing(ActorModel m)
    {
        ActorView r = Instantiate(Thing).GetComponent <ActorView>();

        r.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 0);
        r.Setup(m);
        return(r);
    }
Ejemplo n.º 7
0
        public static void doDone(TurningAction actionObject)
        {
            ActorView entity = SceneViews.instance.getCurFBScene().getActor(actionObject.objectID);

            Quaternion end = Quaternion.LookRotation(new Vector3(actionObject.endDirection.x, 0, actionObject.endDirection.y));

            entity.setRotation(end);
        }
Ejemplo n.º 8
0
 protected Vector3 getActorViewport(ActorView actor)
 {
     if (actor == null)
     {
         Debug.LogError("actor is null");
         return(Vector3.zero);
     }
     return(cameraCtrl.cam.WorldToViewportPoint(actor.getCenterPosition()));
 }
Ejemplo n.º 9
0
 public override void enter()
 {
     base.enter();
     actor         = SceneViews.instance.getCurFBScene().getActor(cameraCtrl.goaler);
     timer         = 0;
     waitTime      = cameraCtrl.config.goalBeginTime;//转身时间
     beginGoalShow = false;
     LogicEvent.add("onBeginGoalShow", this, "onBeginGoalShow");
 }
Ejemplo n.º 10
0
 public ActionResult Create(ActorView actorView)
 {
     if (ModelState.IsValid)
     {
         actorView.CountryId = DB.GetCountryId(actorView.CountryName);
         DB.AddActor(actorView);
     }
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 11
0
 void onBeginKillerSkill(ActorView actor)
 {
     if (actor == null)
     {
         Debug.LogError("actor is null");
         return;
     }
     cameraCtrl.shooter = actor;
     fsm.changeState(CameraFollowState.KillerSkill);
 }
Ejemplo n.º 12
0
 protected Vector3 calculateOffsetPosition(ActorView actor, Vector3 baseOffset)
 {
     if (actor == null)
     {
         return(Vector3.zero);
     }
     return(actor.transform.TransformPoint(baseOffset * actor.height) + new Vector3 {
         y = actor.height * 0.5f
     });
 }
Ejemplo n.º 13
0
    public void SetLocalPlayerId(int localPlayerId)
    {
        m_localPlayerId = localPlayerId;

        if (m_actors.ContainsKey(m_localPlayerId))
        {
            var av = m_actors[m_localPlayerId];
            m_localPlayerView = av;
            m_cameraRig.SetAndTele(av.transform);
        }
    }
Ejemplo n.º 14
0
    public void detach(EntityView dummyEntity)
    {
        transform.parent = SceneViews.instance.current.transform;
        base.setRotation(Quaternion.identity);

        kicker = dummyEntity as ActorView;
        owner  = null;

        startSamplePosition = transform.position;
        hideChargeEffect();
    }
Ejemplo n.º 15
0
    void SpawnActor(Actor actor)
    {
        var av = (ActorView)Instantiate(m_actorViewsPrefabDict[actor.type], new Vector3(actor.pos.x, actor.pos.y, actor.pos.z), Quaternion.identity);

        av.transform.parent = transform;
        av.Init(actor);
        m_actors.Add(actor.id, av);

        if (actor.id == m_localPlayerId)
        {
            m_localPlayerView = av;
            m_cameraRig.SetAndTele(av.transform);
        }
    }
Ejemplo n.º 16
0
    //释放焦点
    public override void releaseFocus(ActorView actor)
    {
        base.releaseFocus(actor);

        SkinnedMeshRenderer smr = actor.GetComponent <SkinnedMeshRenderer>();

        if (smr != null)
        {
            smr.material.SetColor("_Switch", new Color(1.0f, 0.0f, 0.0f, 1.0f));
        }

        LogicEvent.fire("resetSkillColor", 1.0f);
        LogicEvent.fire2Lua("onChangeNameBindPoint", actor.id, actor.transform, -0.3f, actor.height * 1.5f);
    }
Ejemplo n.º 17
0
    //请求焦点
    public override void requestFocus(ActorView actor)
    {
        base.requestFocus(actor);

        SkinnedMeshRenderer smr = actor.GetComponentInChildren <SkinnedMeshRenderer>();

        if (smr != null)
        {
            smr.material.SetColor("_Switch", new Color(0.0f, 1.0f, 0.0f, 1.0f));
        }

        LogicEvent.fire("lerpSkillColor", 1.0f);
        LogicEvent.fire2Lua("onChangeNameBindPoint", actor.id, actor.getWaistPoint(), 0, actor.height);
    }
Ejemplo n.º 18
0
 void onEndKillerSkill(ActorView actor)
 {
     if (actor == null)
     {
         Debug.LogError("actor is null");
         return;
     }
     if (isFollow(actor.id))
     {
         fsm.changeState(CameraFollowState.Shooting);
     }
     else
     {
         fsm.changeState(CameraFollowState.WidthoutBall);
     }
 }
Ejemplo n.º 19
0
    void KillActor(Actor actor)
    {
        if (m_actors.ContainsKey(actor.id))
        {
            m_actors[actor.id].Kill();

            if (actor.id == m_localPlayerId)
            {
                m_localPlayerId   = -1;
                m_localPlayerView = null;
            }
        }
        else
        {
            Debug.Log("KILL! Does not have actor " + actor.type + " " + actor.id);
        }
    }
Ejemplo n.º 20
0
        public static void doProgress(TurningAction actionObject, float progress)
        {
            if (actionObject.ignoreTimeAction)
            {
                return;
            }

            ActorView entity = SceneViews.instance.getCurFBScene().getActor(actionObject.objectID);

            Quaternion start = Quaternion.LookRotation(new Vector3(actionObject.startDirection.x, 0, actionObject.startDirection.y));
            Quaternion end   = Quaternion.LookRotation(new Vector3(actionObject.endDirection.x, 0, actionObject.endDirection.y));

            //获取本次移动位置
            Quaternion thisEndRotation = getRotatingDirection(start, end, progress);

            entity.setRotation(thisEndRotation);
        }
Ejemplo n.º 21
0
        void onBeginHit(ActorView attacker, ActorView victim)
        {
            if (attacker == null)
            {
                Debug.LogError("attacker is null");
                return;
            }
            if (victim == null)
            {
                Debug.LogError("victim is null");
                return;
            }

            cameraCtrl.attacker = attacker;
            cameraCtrl.victim   = victim;
            fsm.changeState(CameraFollowState.HitIn);
        }
Ejemplo n.º 22
0
        void playSelfDefiance(ActorView self)
        {
            var targetPosition = calculateOffsetPosition(self, cameraCtrl.config.showActorOffset);

            lookAtTime = cameraCtrl.config.showSelfMoveTime;
            cameraCtrl.transform.DOMove(targetPosition, cameraCtrl.config.showSelfMoveTime)
            .SetDelay(cameraCtrl.config.aroundStayTime)
            .OnStart(() =>
            {
                curLookAtPosition = self.getCenterPosition();
                lookAtTweener     = cameraCtrl.transform.DOLookAt(curLookAtPosition, lookAtTime);
            })
            .OnComplete(() =>
            {
                lookAtTweener.Kill();
                lookAtTweener = null;
                LogicEvent.fire("onPlayTaunt", self.id);
            });
        }
Ejemplo n.º 23
0
        void around(ActorView enemy, ActorView self)
        {
            var enemyPosition = enemy.getCenterPosition();
            var selfPosition  = self.getCenterPosition();

            curLookAtPosition = Vector3.Lerp(enemyPosition, selfPosition, cameraCtrl.config.aroundRatio);
            var matrix         = Matrix4x4.TRS(curLookAtPosition, Quaternion.LookRotation((selfPosition - enemyPosition).normalized), Vector3.one);
            var targetPosition = matrix.MultiplyPoint(cameraCtrl.config.aroundOffset);

            lookAtTime = cameraCtrl.config.aroundMoveTime;
            cameraCtrl.transform.DOMove(targetPosition, lookAtTime)
            .SetDelay(cameraCtrl.config.enemyTauntTime)
            .OnStart(() =>
            {
                lookAtTweener = cameraCtrl.transform.DOLookAt(curLookAtPosition, lookAtTime);
            })
            .OnComplete(() =>
            {
                lookAtTweener.Kill();
                lookAtTweener = null;
                playSelfDefiance(self);
            });
        }
Ejemplo n.º 24
0
    public void shoot(ShootType type,
                      Vector3 velocity,
                      float angle,
                      Vector3 target,
                      ActorView shooter)
    {
        shootType = type;

        switch (type)
        {
        case ShootType.Normal:
            showTrailEffect(config.normalTrailEffect);
            setRotateType(velocity);
            break;

        case ShootType.Power:
            showTrailEffect(config.powerTrailEffect);
            setRotateType(velocity);
            break;

        case ShootType.Super:
            showTrailEffect(config.getSuperTrailEffect(shooter.element));
            rotator.arcline(angle);
            break;

        case ShootType.Killer:
            showTrailEffect(shooter.name + "_" + config.killerTrailEffect);

            var dir    = target - transform.position;
            var matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.LookRotation(dir), Vector3.one);

            var killerSkillRotate = config.getKillerSkillRotate(shooter.roleId);
            var axis = matrix.MultiplyVector(killerSkillRotate.axis).normalized;
            rotator.killerSkill(axis, killerSkillRotate.angularVelocity);
            break;
        }
    }
Ejemplo n.º 25
0
    protected override void onActorLoaded(ActorView actor, GameObject go)
    {
        if (actor == null || go == null)
        {
            return;
        }

        if (WithoutEnterShow_4Test_EditorOnly.instance != null)
        {
            if (actor.team == mainActorTeam && !actor.gk)
            {
                var sr = actor.GetComponentInChildren <SkinnedMeshRenderer>();
                if (sr != null)
                {
                    //sr.enabled = false;
                }
            }
        }
        else
        {
            actor.setAniamtorController(true);
            actor.animator.SetBool("warmUp", true);
        }
    }
Ejemplo n.º 26
0
 //释放焦点
 public virtual void releaseFocus(ActorView actor)
 {
     LogicEvent.fire2Rendering("onEndKillerSkill", actor);
 }
Ejemplo n.º 27
0
 //请求焦点
 public virtual void requestFocus(ActorView actor)
 {
     actor.playSkillEffect();
     LogicEvent.fire2Rendering("onBeginKillerSkill", actor);
 }
Ejemplo n.º 28
0
 protected virtual void onActorLoaded(ActorView actor, GameObject go)
 {
 }
Ejemplo n.º 29
0
    public void ChangeView(ActorView a)
    {
        if (Model.Type == ThingTypes.Player)
        {
            a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().sprite = God.SM.lightgrey;
            a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().color  = new Color32(255, 255, 255, 255);
            walkingAnim         = gameObject.GetComponentInChildren <Animator>();
            walkingAnim.enabled = true;
        }
        if (Model.Type == ThingTypes.MagicDoor)
        {
            a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().sprite = God.SM.grey;
            a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().color  = new Color32(255, 255, 255, 255);
        }
        if (Model.Type == ThingTypes.RedKey)
        {
            walkingAnim         = gameObject.GetComponentInChildren <Animator>();
            walkingAnim.enabled = true;
            walkingAnim.SetBool("Key", true);

            if (a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().sprite.name == "Inverted Floor")
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 0);
                a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <Animator>().enabled = true;
                //God.GSM.keyIsVisible = false;
            }
            else
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
                //God.GSM.keyIsVisible = true;
            }
        }
        if (Model.Type == ThingTypes.Wall)
        {
            a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
        }
        if (Model.Type == ThingTypes.Monster)
        {
            if (a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().sprite.name == "Inverted Floor")
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 0);
                a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <Animator>().enabled = true;
            }
            else
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
            }
        }
        if (Model.Type == ThingTypes.ScoreThing)
        {
            walkingAnim         = gameObject.GetComponentInChildren <Animator>();
            walkingAnim.enabled = true;
            walkingAnim.SetBool("BlackSpider", true);
            if (a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <SpriteRenderer>().sprite.name == "Inverted Floor")
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 0);
                a.Model.View.transform.GetComponentInParent <TileView>().GetComponentInChildren <Animator>().enabled = true;
                //God.GSM.scoreIsVisible = false;
            }
            else
            {
                a.GetComponentInChildren <SpriteRenderer>().color = new Color32(255, 255, 255, 255);
                //God.GSM.scoreIsVisible = true;
            }
        }
    }
Ejemplo n.º 30
0
 void onEndKillerSkill(ActorView acotr)
 {
     focusShooter = false;
 }