protected override void OnInstanceInit() { base.OnInstanceInit(); mGoblinPoolCtrl = M8.PoolController.GetPool(goblinPool); mGoblinPoolCtrl.AddType(goblinTemplate, goblinPts.Length, goblinPts.Length); mGoblins = new M8.CacheList <UnitEntity>(goblinPts.Length); var dragGuideGO = GameObject.FindGameObjectWithTag(tagDragGuide); mDragGuide = dragGuideGO.GetComponent <DragToGuideWidget>(); titleAnim.gameObject.SetActive(false); motionIllustrationAnim.gameObject.SetActive(false); block1ForceNetGO.SetActive(false); block1ForceGravityGO.SetActive(false); block1ForceBalancedGO.SetActive(false); block1ForceUnbalancedGO.SetActive(false); block1ForceKnightGO.SetActive(false); block1ForceGoblinGO.SetActive(false); block1NetForceDirRoot.gameObject.SetActive(false); block1NetForceNoneGO.SetActive(false); block2ForcesGO.SetActive(false); block2ForceNetGO.SetActive(false); block2ForceGravityGO.SetActive(false); block2ForceBalancedGO.SetActive(false); block2ForceUnbalancedGO.SetActive(false); block2NetForceDirRoot.gameObject.SetActive(false); block2NetForceNoneGO.SetActive(false); interfaceRootGO.SetActive(false); princessGO.SetActive(false); victoryGO.SetActive(false); block1.gameObject.SetActive(false); block1.transform.position = block1StartPt.position; for (int i = 0; i < block1Wheels.Length; i++) { var suspension = block1Wheels[i].suspension; suspension.frequency = block1WheelsAirFreq; block1Wheels[i].suspension = suspension; } block2.gameObject.SetActive(false); block2.transform.position = block2StartPt.position; signalUnitDragEnd.callback += OnSignalUnitDragEnd; }
protected override void OnInstanceInit() { base.OnInstanceInit(); //setup interactives var interactGOs = GameObject.FindGameObjectsWithTag(interactTag); //grab dragable bodies and initialize var dragBodyList = new List <DragRigidbody2D>(); for (int i = 0; i < interactGOs.Length; i++) { var dragBodyComp = interactGOs[i].GetComponent <DragRigidbody2D>(); if (dragBodyComp) { dragBodyComp.SetDragCursor(dragCursor); dragBodyComp.dragEndCallback += OnBodyDragEnd; dragBodyList.Add(dragBodyComp); } } mDragBodies = dragBodyList.ToArray(); dragCursor.gameObject.SetActive(false); // inertiaIllustrationAnim.gameObject.SetActive(false); illustrateGO.gameObject.SetActive(false); //setup item itemBody.transform.position = itemStartPoint.position; itemBody.mass = itemBodyMasses[Random.Range(0, itemBodyMasses.Length)]; itemBody.gameObject.SetActive(false); // //drag instructs var dragGuideGO = GameObject.FindGameObjectWithTag(tagDragGuide); mDragGuide = dragGuideGO.GetComponent <DragToGuideWidget>(); dragWeightHelpGO.SetActive(false); signalTreasureOpened.callback += OnSignalTreasureOpened; signalShowNext.callback += OnSignalShowNext; }
protected override void OnInstanceInit() { base.OnInstanceInit(); mPlayerGO = GameObject.FindGameObjectWithTag(playerTag); mPlayerBody = mPlayerGO.GetComponent <Rigidbody2D>(); mPlayerGO.SetActive(false); mForceGroupUIGO = GameObject.FindGameObjectWithTag(forceGroupUITag); mForceGroupUIGO.SetActive(false); mPlayGroupUIGO = GameObject.FindGameObjectWithTag(playGroupUITag); mPlayGroupUIGO.SetActive(false); graphButton.onClick.AddListener(OnShowGraph); graphButton.interactable = false; if (!string.IsNullOrEmpty(tagDragGuide)) { var go = GameObject.FindGameObjectWithTag(tagDragGuide); mDragGuide = go.GetComponent <DragToGuideWidget>(); } if (dragGuideGO) { dragGuideGO.SetActive(false); } if (dragEntityGuideGO) { dragEntityGuideGO.SetActive(false); } if (playGuideGO) { playGuideGO.SetActive(false); } signalGoal.callback += OnSignalGoal; }
IEnumerator DoDragIndicator() { //grab guide if (!mDragGuide) { var go = GameObject.FindGameObjectWithTag(dragIndicatorTag); mDragGuide = go.GetComponent <DragToGuideWidget>(); } //grab camera var cam = Camera.main; //wait for blobs to spawn while (blobSpawner.spawnQueueCount > 0 && blobSpawner.CheckAnyBlobActiveState(Blob.State.Spawning)) { yield return(null); } var blobOp1 = blobSpawner.blobActives[0]; var blobOp2 = blobSpawner.blobActives[1]; var blobEq = blobSpawner.blobActives[2]; while (!(blobOp1.isConnected && blobOp2.isConnected && blobEq.isConnected)) { if (connectControl.curOp == OperatorType.Divide && blobOp1.isConnected && blobEq.isConnected) { //special case when dividing var blobEqPos = blobEq.jellySprite.CentralPoint.Body2D.position; var blobOp2Pos = blobOp2.jellySprite.CentralPoint.Body2D.position; Vector2 blobEqUIPos = cam.WorldToScreenPoint(blobEqPos); Vector2 blobOp2UIPos = cam.WorldToScreenPoint(blobOp2Pos); if (mDragGuide.isActive) { mDragGuide.UpdatePositions(blobEqUIPos, blobOp2UIPos); } else { mDragGuide.Show(false, blobEqUIPos, blobOp2UIPos); } } else if (!(blobOp1.isConnected && blobOp2.isConnected)) { var blobOp1Pos = blobOp1.jellySprite.CentralPoint.Body2D.position; var blobOp2Pos = blobOp2.jellySprite.CentralPoint.Body2D.position; Vector2 blobOp1UIPos = cam.WorldToScreenPoint(blobOp1Pos); Vector2 blobOp2UIPos = cam.WorldToScreenPoint(blobOp2Pos); if (mDragGuide.isActive) { mDragGuide.UpdatePositions(blobOp1UIPos, blobOp2UIPos); } else { mDragGuide.Show(false, blobOp1UIPos, blobOp2UIPos); } } //wait for blob 3 to be connected else if (!blobEq.isConnected) { var blobOp2Pos = blobOp2.jellySprite.CentralPoint.Body2D.position; var blobEqPos = blobEq.jellySprite.CentralPoint.Body2D.position; Vector2 blobOp2UIPos = cam.WorldToScreenPoint(blobOp2Pos); Vector2 blobEqUIPos = cam.WorldToScreenPoint(blobEqPos); if (mDragGuide.isActive) { mDragGuide.UpdatePositions(blobOp2UIPos, blobEqUIPos); } else { mDragGuide.Show(false, blobOp2UIPos, blobEqUIPos); } } yield return(null); } mDragGuide.Hide(); mDragIndicatorRout = null; }