public virtual void Release() { _isDead = true; for (int i = 0; i < _components.Count; i++) { _components[i].Release(); } _components.Clear(); SnakerNode node = _head; while (node != null) { // release node... node.Release(); node = node.NextNode; } _head = null; _tail = null; hitNode = null; enegy = 0; _ownerPlayer = null; _view = null; }
private void DestroySnaker(SnakerActor actor) { if (actor != null) { actor.Unbind(); Destroy(actor.gameObject); } }
private SnakerActor CreateSnaker(Snaker snaker) { if (snaker == null) { return(null); } GameObject prefab = Resources.Load <GameObject>(snaker.Data["Prefab"].StringValue); GameObject go = Instantiate <GameObject>(prefab); go.name = prefab.name + "_" + snaker.PlayerID.ToString(); go.transform.SetParent(Root); SnakerActor view = go.EnsureComponent <SnakerActor>(); view.Bind(snaker); return(view); }