/// フレーム処理 protected override bool DoFrame() { /// 壊れる if (brokenFlg == true) { /// 草を刈る if (fixTypeId == Data.FixTypeId.Fix03) { EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff11, BasePos); } /// 木製の備品の破壊 else { EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff09, BasePos); AppSound.GetInstance().PlaySeCamDis(AppSound.SeId.ObjBreak, BasePos); } Enable = false; return(false); } objFix.Frame(); return(true); }
/// 死亡 private bool statePlayDead() { Vector3 effPos = new Vector3(0, 0, 0); switch (statePlayTask) { /// 終了待ち case 0: Common.VectorUtil.Set(ref effPos, objCh.BodyPos.X, objCh.BodyPos.Y, objCh.BodyPos.Z); EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff05, effPos); AppSound.GetInstance().PlaySeCamDis(AppSound.SeId.ObjBreak, BasePos); deadCnt = 0; statePlayTask++; break; /// エフェクト余韻 case 1: deadCnt++; if (deadCnt >= 25) { Enable = false; } break; } return(true); }
/// フレーム処理 public override bool DoFrame() { movePos.X = BasePos.X + BaseMtx.M31 * 1.0f; movePos.Y = BasePos.Y + BaseMtx.M32 * 1.0f; movePos.Z = BasePos.Z + BaseMtx.M33 * 1.0f; moveLife--; // 移動寿命 if (moveLife <= 0) { EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff08, BasePos); this.Enable = false; } /// 移動 else if (calCollMove.Check(moveCollMgr, movePos) == true) { EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff08, BasePos); if (moveCollMgr.TrgContainer.GetEntryObjParent(0).EventCntr != null) { moveCollMgr.TrgContainer.GetEntryObjParent(0).EventCntr.Add(ActorEventId.Damage, (int)Data.AttackTypeId.Magic, null); moveCollMgr.TrgContainer.GetEntryObjParent(0).EventCntr.Add(ActorEventId.LookTrg, 0, BasePos); } AppSound.GetInstance().PlaySeCamDis(AppSound.SeId.EnSpelHit, BasePos); this.Enable = false; } else { BasePos = calCollMove.NextPos; } Common.MatrixUtil.SetTranslate(ref BaseMtx, BasePos); objBullet.SetMatrix(BaseMtx); objBullet.Frame(); return(true); }
/// ダメージ演出 private void setDamageEff() { /// 攻撃対象の方向へ向く if (dmgTrgObj != null) { Vector4 x = new Vector4(0, 0, 0, 0); Vector4 y = new Vector4(0, 0, 0, 0); Vector4 z = new Vector4(0, 0, 0, 0); Vector4 w = new Vector4(0, 0, 0, 0); Matrix4 mtx = new Matrix4(x, y, z, w); Vector3 vec = new Vector3((dmgTrgObj.Mtx.M41 - objCh.Mtx.M41), 0.0f, (dmgTrgObj.Mtx.M43 - objCh.Mtx.M43)); Common.MatrixUtil.LookTrgVec(ref mtx, vec); Common.MatrixUtil.SetTranslate(ref mtx, BasePos); this.SetPlace(mtx); } /// エフェクト表示 Vector3 effPos = new Vector3(objCh.Mtx.M41 + objCh.Mtx.M31 * 0.25f, objCh.Mtx.M42 + 0.9f, objCh.Mtx.M43 + objCh.Mtx.M33 * 0.25f); EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff12, effPos); AppSound.GetInstance().PlaySe(AppSound.SeId.PlDamage); }
/// 死亡 private bool statePlayDead() { Vector3 effPos = new Vector3(0, 0, 0); switch (statePlayTask) { /// 終了待ち case 0: // if( mvtHdl.IsActive() == false ){ Common.VectorUtil.Set(ref effPos, objCh.BodyPos.X, objCh.BodyPos.Y, objCh.BodyPos.Z); /* switch(chTypeId){ * case Data.ChTypeId.MonsterA: effPos.Y -= 0.6f; break; * case Data.ChTypeId.MonsterB: effPos.Y -= 0.1f; break; * case Data.ChTypeId.MonsterC: effPos.Y -= 0.1f; break; * } */ EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff05, effPos); AppSound.GetInstance().PlaySeCamDis(AppSound.SeId.ObjBreak, BasePos); deadCnt = 0; statePlayTask++; // } break; /// エフェクト余韻 case 1: deadCnt++; if (deadCnt >= 25) { Enable = false; } break; } return(true); }
public void AddEffectSplash(Vector3 Position) { EventCntr.Add(ActorEventId.Effect, (int)Data.EffTypeId.Eff05, Position); }