private TailPiece Init(Player player, GridTransform leader) { this.leader = leader; gridTransform = gameObject.AddComponent <GridTransform>(); gridTransform.Events = new GridEventHandlers(OnCollision: OnGridCollision); gridTransform.Warp(leader.CurrentNode); tweener = gameObject.AddComponent <LinearTweener>(); tweener.autoTarget = () => gridTransform.Target; tweener.speed = player.speed; GameObject.CreatePrimitive(PrimitiveType.Quad).transform.SetParent(transform); transform.position = leader.transform.position; return(this); }
private void Start() { childRight = MakeChild("childRight", Vector2.right); childUp = MakeChild("childUp", Vector2.up); childOne = MakeChild("childOne", Vector2.one); gridTransform = gameObject.GetComponent <GridTransform>(); gridRight = childRight.AddComponent <GridTransform>(); gridUp = childUp.AddComponent <GridTransform>(); gridOne = childOne.AddComponent <GridTransform>(); gridTransforms = new GridTransform[] { gridTransform, gridRight, gridUp, gridOne }; foreach (var gTransform in gridTransforms) { gTransform.Events = new GridEventHandlers(OnCollision: (x) => OnGridCollision(x)); } tweener = gameObject.AddComponent <LinearTweener>(); tweener.speed = 10f; tweener.autoTarget = () => gridTransform.Target; //gridTransform.Warp(GridSystem.GetNode((int)transform.position.x, (int)transform.position.y)); CEventSystem.BroadcastEvent(EventChannel.gameState, EventSubChannel.none, new GameState.EnemySpawnEvent()); animationParent = new GameObject("animationParent"); animationParent.transform.SetParent(transform, false); animationParent.transform.localPosition = new Vector3(0.5f, -0.5f, 0f); animationChild = GameObject.CreatePrimitive(PrimitiveType.Quad); animationChild.name = "AnimationChild"; animationChild.transform.SetParent(animationParent.transform, false); animationChild.transform.localPosition = Vector2.up; animationChild.transform.localScale = new Vector3(2f, 2f, 1f); Sprite[] sheet = Resources.LoadAll <Sprite>("Sprites/slime-sprite-sheet-FINAL-PNG"); front = textureFromSprite(sheet[8]); right = textureFromSprite(sheet[5]); left = textureFromSprite(sheet[2]); back = textureFromSprite(sheet[11]); mat = new Material(Shader.Find("Unlit/Transparent")); mat.SetTexture("_MainTex", front); animationChild.GetComponent <MeshRenderer>().material = mat; }
private void Start() { //Add dependant components gridTransform = gameObject.GetComponent<GridTransform>(); if(gridTransform == null) { gridTransform = gameObject.AddComponent<GridTransform>(); //Warp the player to the grid var gridNode = GridSystem.GetNode(0, 0); gridTransform.Warp(gridNode); } Sprite[] sprites = Resources.LoadAll<Sprite>("Sprites/SnakeSprites"); quad = GameObject.CreatePrimitive(PrimitiveType.Quad); quad.transform.SetParent(transform); quad.transform.localPosition = Vector3.zero; headMat = new Material(Shader.Find("Unlit/Transparent")); headMat.SetTexture("_MainTex", textureFromSprite(sprites[0])); quad.GetComponent<MeshRenderer>().material = headMat; bodyMat = new Material(Shader.Find("Unlit/Transparent")); bodyMat.SetTexture("_MainTex", textureFromSprite(sprites[1])); tailMat = new Material(Shader.Find("Unlit/Transparent")); tailMat.SetTexture("_MainTex", textureFromSprite(sprites[2])); keyboardController = gameObject.AddComponent<PlayerKeyboardController>(); tweener = gameObject.AddComponent<LinearTweener>(); //Set the auto target for the tweener tweener.autoTarget = () => gridTransform.Target; tweener.speed = speed; //Add camera system GameObject.Find("Main Camera").AddComponent<CameraControl>(); Grow(); }
private void Start() { //Add dependant components gridTransform = gameObject.GetComponent<GridTransform>(); if(gridTransform == null) { gridTransform = gameObject.AddComponent<GridTransform>(); //Warp the player to the grid var gridNode = GridSystem.GetNode(0, 0); gridTransform.Warp(gridNode); } GameObject quad = GameObject.CreatePrimitive(PrimitiveType.Quad); quad.transform.SetParent(transform); quad.transform.localPosition = Vector3.zero; keyboardController = gameObject.AddComponent<PlayerKeyboardController>(); tweener = gameObject.AddComponent<LinearTweener>(); //Set the auto target for the tweener tweener.autoTarget = () => gridTransform.Target; tweener.speed = speed; }
void Start() { a = new GameObject("Linear").AddComponent <LinearTweener>(); b = new GameObject("Asymtotic").AddComponent <AsymtoticTweener>(); }