void playEnemyDefiance(ActorView enemy) { LogicEvent.fire("onPlayTaunt", enemy.id); var self = SceneViews.instance.getCurFBScene().getMainActor(); around(enemy, self); }
public ActorView SpawnThing(ActorModel m) { ActorView r = Instantiate(Thing).GetComponent <ActorView>(); r.Setup(m); return(r); }
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); }
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); }
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); }
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); }
protected Vector3 getActorViewport(ActorView actor) { if (actor == null) { Debug.LogError("actor is null"); return(Vector3.zero); } return(cameraCtrl.cam.WorldToViewportPoint(actor.getCenterPosition())); }
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"); }
public ActionResult Create(ActorView actorView) { if (ModelState.IsValid) { actorView.CountryId = DB.GetCountryId(actorView.CountryName); DB.AddActor(actorView); } return(RedirectToAction("Index")); }
void onBeginKillerSkill(ActorView actor) { if (actor == null) { Debug.LogError("actor is null"); return; } cameraCtrl.shooter = actor; fsm.changeState(CameraFollowState.KillerSkill); }
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 }); }
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); } }
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(); }
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); } }
//释放焦点 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); }
//请求焦点 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); }
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); } }
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); } }
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); }
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); }
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); }); }
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); }); }
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; } }
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); } }
//释放焦点 public virtual void releaseFocus(ActorView actor) { LogicEvent.fire2Rendering("onEndKillerSkill", actor); }
//请求焦点 public virtual void requestFocus(ActorView actor) { actor.playSkillEffect(); LogicEvent.fire2Rendering("onBeginKillerSkill", actor); }
protected virtual void onActorLoaded(ActorView actor, GameObject go) { }
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; } } }
void onEndKillerSkill(ActorView acotr) { focusShooter = false; }