void ProcessLandoltMessage(Osc.Message msg) { try { var json = JSON.Parse(msg.data[0].ToString()); var data = convertToLandoltData(json); int landoltIndex = "/landolt".Length; if (msg.path.IndexOf("/create") == landoltIndex) { LandoltManager.Create(data); } else if (msg.path.IndexOf("/update") == landoltIndex) { LandoltManager.Update(data); } else if (msg.path.IndexOf("/remove") == landoltIndex) { LandoltManager.Remove(data); } else { Debug.LogWarning("unknown message: " + msg); } } catch (Exception e) { Debug.LogWarning(e.Message); Debug.LogWarning(msg); } }
IEnumerator Dead() { if (deadWaitTime < 1f) { deadWaitTime += 1f; } yield return(new WaitForSeconds(deadWaitTime - 1f)); var landolt = LandoltManager.GetFirst(); if (landolt) { landolt.EmitRevivalSphere(gameObject); } yield return(new WaitForSeconds(1f)); BroadcastMessage("OnRevival"); }
void Update() { if (frameCount_ > 30) { var target = LandoltManager.GetFirst(); var targetPos = GlobalObjects.localStage.transform.position + Vector3.back * 1.5f; if (target) { targetPos = target.transform.position; } var dir = (targetPos - transform.position).normalized; velocity += (dir * targetSpeed - velocity) * damping; } if (frameCount_ > 120) { Destroy(gameObject); } transform.position += velocity * Time.deltaTime; ++frameCount_; }
void Update() { ++lostCount_; if (lostCount_ > 180) { LandoltManager.Remove(data_); } if (isInitialized_) { transform.localPosition = (rawPos_ - transform.localPosition) * filter; var from = transform.localRotation; var to = Quaternion.Euler(0f, Mathf.Rad2Deg * currentAngle_ + 90, 0f); transform.localRotation = Quaternion.Slerp(from, to, filter); } else { transform.localPosition = rawPos_; transform.localRotation = Quaternion.Euler(0f, Mathf.Rad2Deg * currentAngle_ + 90, 0f); } }
void Awake() { Instance = this; }
void Start() { landolt_ = GetComponent <Landolt>(); landolt_._SetRawPos(transform.localPosition); LandoltManager.AddDummy(-1, landolt_); }