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; } }
public void Spawn() { //shouldn't call this if there's already a spawn, so release the previous if (mSpawned) { if (preSpawned) { preSpawned.transform.position = transform.position; preSpawned.gameObject.SetActive(true); } else if (mSpawned.stats.isAlive) { mSpawned.Release(); } } var parms = new M8.GenericParams(); parms[Params.state] = (int)EntityState.Control; parms[Params.anchor] = transform; if (preSpawned) { mSpawned = preSpawned; mSpawned.Spawn(parms); //manually "spawn" } else { mSpawned = M8.PoolController.SpawnFromGroup <EntityCommon>(poolGroup, poolSpawnRef, poolSpawnRef, null, transform.position, parms); if (mSpawned) { mSpawned.releaseCallback += OnSpawnedReleased; } } }
void Awake() { mEntity = GetComponent <EntityCommon>(); mEntity.setStateCallback += OnEntityChangeState; mEntity.releaseCallback += OnEntityRelease; MissionController.instance.signalCallback += OnMissionControlSignal; }
protected void CreateBaseData <T>(T model, EntityCommon entity) where T : EntityBase { model.CreateId = entity.CreateId; model.CreateBy = entity.CreateBy; model.CreateTime = entity.CreateTime; model.ModifyId = entity.ModifyId; model.ModifyBy = entity.ModifyBy; model.ModifyTime = entity.ModifyTime; }
public void Launch(EntityCommon target) { if (animator) { if (mEntity) { mTarget = target; animator.Play(takeLaunch); } } }
protected override void OnDespawned() { //reset stuff here if (mRout != null) { StopCoroutine(mRout); mRout = null; } mTarget = null; mFollow = null; }
public void Launch(EntityCommon launch) { mTarget = launch; if (mTarget) { state = (int)EntityState.Launch; } else { state = (int)EntityState.Normal; } }
void OnDetectTriggerEnter(Collider2D coll) { EntityCommon ent = coll.GetComponent <EntityCommon>(); //make sure it's alive and is't already added if (ent.stats.isAlive && ent.stats.data.type == StatEntity.Type.Biological && !mTargetPotentialEntities.IsFull && !mTargetPotentialEntities.Exists(ent)) { mTargetPotentialEntities.Add(ent); if (mLaunchRout == null) { mLaunchRout = StartCoroutine(DoLaunch()); } } }
public ActionResult SetPermission(string roleId, string isSet, string newModulePermission) { OperationResult result = new OperationResult(OperationResultType.Success, "授权成功"); if (isSet == "0") { result = new OperationResult(OperationResultType.NoChanged, "请选择按钮权限"); } else { var newModulePermissionList = JsonConvert.DeserializeObject <List <RoleModulePermissionModel> >(newModulePermission); var model = new EntityCommon(); this.UpdateBaseData <EntityCommon>(model); result = RoleService.SetRoleModulePermission(roleId, newModulePermissionList, model); } return(Json(result)); }
protected override void StateChanged() { if (mRout != null) { StopCoroutine(mRout); mRout = null; } switch ((EntityState)prevState) { case EntityState.Seek: mFollow = null; break; case EntityState.Launch: mTarget = null; break; } switch ((EntityState)state) { case EntityState.Normal: animator.Play(takeNormal); break; case EntityState.Seek: animator.Play(takeNormal); mRout = StartCoroutine(DoFollow()); break; case EntityState.Launch: animator.Play(takeLaunch); mRout = StartCoroutine(DoLaunch()); break; case EntityState.Leave: animator.Play(takeLeave); break; case EntityState.Dead: animator.Play(takeExplode); break; } }
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; }
public void Reset(bool releaseEntity) { if (mEntity) { if (releaseEntity) { mEntity.Release(); } mEntity = null; } mTarget = null; mIsSpawning = false; if (animator) { animator.Stop(); } }
void OnAnimationFinish(M8.Animator.AnimatorData anim, M8.Animator.AMTakeData take) { if (take.name == takeSpawn) { if (mEntity) { mEntity.Follow(null); } mIsSpawning = false; } else if (take.name == takeLaunch) { //set to launch if (mEntity) { mEntity.Launch(mTarget); } mEntity = null; mTarget = null; } }
void OnSpawnedReleased(M8.EntityBase ent) { mSpawned.releaseCallback -= OnSpawnedReleased; mSpawned = null; }
/// <summary> /// 授权按钮权限 /// </summary> /// <param name="roleId"></param> /// <param name="addModulePermissionList"></param> /// <param name=""></param> /// <returns></returns> public OperationResult SetRoleModulePermission(string roleId, IEnumerable <RoleModulePermissionModel> addModulePermissionList, EntityCommon model) { var updateEntity = HpMongoContext.Role.Where(t => t._ID == roleId && t.IsDeleted == false).FirstOrDefault(); updateEntity.RoleModulePermissions = new List <RoleModulePermission>(); foreach (var m in addModulePermissionList) { updateEntity.RoleModulePermissions.Add(new RoleModulePermission() { ModuleId = m.ModuleId, PermissionIds = m.PermissionIds }); } this.UpdateBaseData <Role>(updateEntity, model); HpMongoContext.Save(updateEntity); CacheHelper.RemoveAllCache("Role"); return(new OperationResult(OperationResultType.Success, "授权成功")); }