public void TouchCreature(int creatureId) { if (currentDialog != null) { return; } UICreature creature = GetUICreature(creatureId); FDPosition creaturePosition = creature.GetCurrentPosition(); FDPosition cursorPosition = FieldTransform.GetObjectUnitPosition(gameCursor.transform.localPosition); if (!creaturePosition.AreSame(cursorPosition)) { gameCursor.transform.localPosition = FieldTransform.GetObjectPixelPosition(FieldTransform.FieldObjectLayer.Ground, creaturePosition.X, creaturePosition.Y); } else { // Do the actuall game event gameManager.HandleOperation(creaturePosition); } }