Example #1
0
    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;
        }
    }
Example #2
0
    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;
            }
        }
    }
Example #3
0
    void Awake()
    {
        mEntity = GetComponent <EntityCommon>();
        mEntity.setStateCallback += OnEntityChangeState;
        mEntity.releaseCallback  += OnEntityRelease;

        MissionController.instance.signalCallback += OnMissionControlSignal;
    }
Example #4
0
 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;
 }
Example #5
0
 public void Launch(EntityCommon target)
 {
     if (animator)
     {
         if (mEntity)
         {
             mTarget = target;
             animator.Play(takeLaunch);
         }
     }
 }
Example #6
0
    protected override void OnDespawned()
    {
        //reset stuff here
        if (mRout != null)
        {
            StopCoroutine(mRout);
            mRout = null;
        }

        mTarget = null;
        mFollow = null;
    }
Example #7
0
    public void Launch(EntityCommon launch)
    {
        mTarget = launch;

        if (mTarget)
        {
            state = (int)EntityState.Launch;
        }
        else
        {
            state = (int)EntityState.Normal;
        }
    }
Example #8
0
    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());
            }
        }
    }
Example #9
0
        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));
        }
Example #10
0
    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;
        }
    }
Example #11
0
    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;
    }
Example #12
0
        public void Reset(bool releaseEntity)
        {
            if (mEntity)
            {
                if (releaseEntity)
                {
                    mEntity.Release();
                }

                mEntity = null;
            }

            mTarget = null;

            mIsSpawning = false;

            if (animator)
            {
                animator.Stop();
            }
        }
Example #13
0
        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;
            }
        }
Example #14
0
 void OnSpawnedReleased(M8.EntityBase ent)
 {
     mSpawned.releaseCallback -= OnSpawnedReleased;
     mSpawned = null;
 }
Example #15
0
        /// <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, "授权成功"));
        }