private void Awake() { root = Create <SpringOffset>("root"); root.transform.parent = transform; arm = Create <SphericalSpring>("arm", root); rotSpring = Create <RadialSpring>("rot", arm); //pos = rotSpring.GetPositionRef(); //rot = rotSpring.GetRotationRef(); cube = GameObject.CreatePrimitive(PrimitiveType.Cube); }
protected override void Init() { if (isOwner) { movementController = gameObject.GetComponent <MovementController>(); platformController = gameObject.GetComponent <PlatformController>(); } else { spring = SpringComponent.Create <SphericalSpring>("spring", null); spring.transform.parent = transform; spring.transform.localPosition = Vector3.zero; spring.dynamicStrength = 0.00000001f; GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); DestroyImmediate(sphere.GetComponent <Collider>()); sphere.transform.parent = spring.transform; sphere.transform.localPosition = Vector3.zero; movementController = gameObject.AddComponent <MovementController>(); movementController.OnCoordinateSpaceDelta += spring.PropegateDelta; gameObject.AddComponent <SphereCollider>(); platformController = gameObject.AddComponent <PlatformController>(); } try { targetInput = movementController.targetInput; } catch (Exception e) { Debug.LogError("Movement Controller Error: " + owner + " : " + isOwner); Debug.LogError(e); } oldPosition = transform.position; }