void RemoveFromContainerAddToPlaceValue(PlaceValueCtrl placeValueColumn, bool correctedColumn = false) { bool valid = false; if (placeValueColumn) { valid = placeValueColumn.AddDragGroup(this); } if (valid) { if (placeValueColumn.value == 1) { if (correctedColumn) { EnlearnInstance.I.LogActions(EnlearnInstance.Action.AddChickenToTens); } else { EnlearnInstance.I.LogActions(EnlearnInstance.Action.AddToOnes); } } else if (placeValueColumn.value == 10) { EnlearnInstance.I.LogActions(EnlearnInstance.Action.AddToTens); } Cleanup(); } else { CreatureCtrl[] children = this.GetComponentsInChildren <CreatureCtrl>(); children[0].Drop(); Cleanup(); //SnapBack(); } }
void OnMouseUp() { if (!isDragging) { return; } StopDrag(); // check for bounding box intersections between group and place value subtraction car Bounds dragGroupBounds = dragGroup.GetComponent <SpriteRenderer>().bounds; int dragValue = dragGroup.GetComponent <DragGroup>().value; PlaceValueCtrl draggedColumn = null; if (dragGroupBounds.Intersects(column.bounds)) { draggedColumn = column; } else if (convertColumn != null && dragGroupBounds.Intersects(convertColumn.bounds) && (value == 1 || convertColumn.allowDragConvert)) { draggedColumn = convertColumn; } if (draggedColumn != null) { bool bFlashAlt = false; if (value == 1 && draggedColumn == convertColumn) { draggedColumn = column; bFlashAlt = true; } int creaturesToAdd = (dragValue / draggedColumn.value); if (draggedColumn.numCreatures + creaturesToAdd <= draggedColumn.creatureMax) { if (draggedColumn.value == 1) { //Genie.instance.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.onesColumn"); Genie.I.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.onesColumn")); } else { //Genie.instance.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.tensColumn"); Genie.I.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.tensColumn")); } // remove creatures from list CreatureCtrl[] children = dragGroup.GetComponentsInChildren <CreatureCtrl>(); for (int i = 0; i < children.Length; ++i) { _creatures.Remove(children[i]); } // place into column if (draggedColumn.numCreatures > 9) { dragGroup.GetComponent <DragGroup>().SetCreaturesBool("fullTen", true); } dragGroup.GetComponent <DragGroup>().SetCreaturesBool("inColumn", true); dragGroup.GetComponent <DragGroup>().SetCreaturesBool("inCar", false); dragGroup.GetComponent <DragGroup>().SetCreaturesTrigger("reset"); if (creaturesToAdd > 1) { column.Explode(dragGroup.GetComponent <DragGroup>()); draggedColumn.screen.Poof(); SoundManager.instance.PlayOneShot(SoundManager.instance.chickenConvertToOnes); } else { draggedColumn.AddDragGroup(dragGroup.GetComponent <DragGroup>()); if (bFlashAlt) { SoundManager.instance.PlayOneShot(SoundManager.instance.chickenSnapBack); convertColumn.ShowIncorrectFeedback(); } } } else { SnapBack(); } } else { //Genie.instance.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.sub.snapback"); //Genie.I.LogEvent(OE_INTERACT.Create(OE_INTERACT.Type.DROP, "gameplay.sub.snapback")); SnapBack(); } column.ForceDragOverFalse(); if (convertColumn != null) { convertColumn.UpdateDragOver(false, 10); convertColumn.ForceDragOverFalse(); } // dispose of drag group Destroy(dragGroup); dragGroup = null; }