public void Init(CorpseData d) { name = Prefab.name; mMode = d.CurrentMode; mCoprseModeEvent = d.ModeEvent; mAni.Play(gameObject.name, 0, UnityEngine.Random.Range(0f, 1f)); }
public static GameObject[] CreateCorpseOrNull(Transform __mobPos, CorpseData corpseData) { if (corpseData.SpawnCount == 0) { return(null); } var corpse = corpseData.Corpse; Vector2 mobPos = __mobPos.position; Vector2 size = corpse.GetComponent <BoxCollider2D>().size; size.x *= corpse.transform.localScale.x; size.y *= corpse.transform.localScale.y; int MobCount = corpseData.SpawnCount; GameObject[] gObj = new GameObject[MobCount]; for (int i = 0; i < MobCount; i++) { var w = Random.insideUnitCircle; var spawnedCorpse = corpse.Spawn(mobPos + w * 0.3f); spawnedCorpse.Init(corpseData); gObj[i] = spawnedCorpse.gameObject; } return(gObj); }
public override void ProcessValuesUpdate(Packet packet, UpdateMask updateMask) { base.ProcessValuesUpdate(packet, updateMask); var corpseUpdateMask = updateMask.LeftShift(ObjectData.BitCount); CorpseData.ProcessValuesUpdate(packet, corpseUpdateMask); }
// DBデータからの死亡キャラの生成 void MakeDead(CorpseData corpseData) { GameObject deadPlayer = Instantiate(playerPrefab, corpseData.pos, playerPrefab.transform.rotation); PlayerManager playerManager = deadPlayer.GetComponent <PlayerManager>(); playerManager.MySetDead(corpseData.name, corpseData.objectId); }
public Corpse(CorpseType type = CorpseType.Bones) : base(type != CorpseType.Bones) { m_type = type; ObjectTypeId = TypeId.Corpse; ObjectTypeMask |= TypeMask.Corpse; m_updateFlag.Stationary = true; m_corpseData = new CorpseData(); m_time = Time.UnixTime; }
// ---------- public void AddData(string name, Vector2 pos) { // しきい値以下のデータは登録しない if (pos.x < PlayData.dbThrMinX) { return; } CorpseData corpseData = new CorpseData(name, pos); SaveData(corpseData); }
void SaveData(CorpseData corpseData) { // CorpseDataというクラスを作成、サーバーに存在していなければ送信時に自動作成される。 NCMBObject dbClass = new NCMBObject("CorpseData"); dbClass["name"] = corpseData.name; dbClass["posx"] = corpseData.pos.x; dbClass["posy"] = corpseData.pos.y; dbClass["deadTime"] = corpseData.deadTime; //データ送信 dbClass.SaveAsync(); }
// --------- public void LoadData() { PlayData.loadDB.Value = false; // DeadDataからデータを取得する NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject> ("CorpseData"); query.Limit = PlayData.restoreCount; query.OrderByDescending("updateDate"); //データを検索し取得 query.FindAsync((List <NCMBObject> objectList, NCMBException e) => { //取得失敗 if (e != null) { //エラーコード表示 Debug.Log(e.ToString()); return; } //取得した全データのmessageを表示 foreach (NCMBObject ncmbObject in objectList) { CorpseData corpseData = new CorpseData(ncmbObject); // しきい値以下のデータは削除する if (corpseData.pos.x < PlayData.dbThrMinX) { DeleateData(corpseData.objectId); continue; } corpseList.Add(corpseData); } PlayData.loadDB.Value = true; }); }