void OnEntityDragEnd(GameObjectSelectible entLaunch, PointerEventData dat) { if (dragEndCallback != null) { dragEndCallback(this, dat); } }
void ClearSpawned(bool release) { if (mSpawnEntitySelectible) { mSpawnEntitySelectible.isLocked = false; //unhook listener mSpawnEntitySelectible.selectCallback -= OnEntitySelect; mSpawnEntitySelectible.dragBeginCallback -= OnEntityDragBegin; mSpawnEntitySelectible.dragCallback -= OnEntityDrag; mSpawnEntitySelectible.dragEndCallback -= OnEntityDragEnd; mSpawnEntitySelectible = null; } if (mSpawnedEntity) { mSpawnedEntity.releaseCallback -= OnEntityRelease; if (release) { mSpawnedEntity.Release(); } mSpawnedEntity = null; } }
void OnEntitySelect(GameObjectSelectible entLaunch) { if (!entLaunch.isSelected) { if (mRout != null) { StopCoroutine(mRout); mRout = null; } } SetLaunchReady(entLaunch.isSelected); }
IEnumerator DoSpawn() { var spawnInfo = mSpawnInfoGen.next; animator.Play(takeEnter); //wait one frame for spawnAt to be setup yield return(null); //spawn at the position var spawnParms = new M8.GenericParams(); spawnParms[Params.state] = (int)EntityState.Control; spawnParms[Params.anchor] = spawnAt; mSpawnedEntity = M8.PoolController.SpawnFromGroup <EntityCommon>(mSpawnInfoGen.poolGroup, spawnInfo.entityRef, spawnInfo.entityRef, null, spawnAt.position, spawnParms); if (mSpawnedEntity.cellBind) { mSpawnedEntity.cellBind.Populate(spawnInfo.bindData); } mSpawnedEntity.releaseCallback += OnEntityRelease; //fail-safe mSpawnEntitySelectible = mSpawnedEntity.GetComponentInChildren <GameObjectSelectible>(); //wait for play to finish while (animator.isPlaying) { yield return(null); } SetLaunchReady(false); //listen for select, drag mSpawnEntitySelectible.selectCallback += OnEntitySelect; mSpawnEntitySelectible.dragBeginCallback += OnEntityDragBegin; mSpawnEntitySelectible.dragCallback += OnEntityDrag; mSpawnEntitySelectible.dragEndCallback += OnEntityDragEnd; mRout = null; }