Inheritance: MonoBehaviour
Beispiel #1
0
        async Task <UpdatedScheduledScaleEvent> IScaleManager.ScheduleScaleEvent(ScaleEvent scaleEvent, CancellationToken cancellationToken)
        {
            var events = await StateManager.GetStateAsync <List <ManagedScaleEvent> >(Events);

            var modifiedEvent = events.Find(e => e.Id == scaleEvent.Id);
            var state         = modifiedEvent?.State ?? ScaleEventState.NotFound;

            if (modifiedEvent == null)
            {
                modifiedEvent = new ManagedScaleEvent {
                    Id = scaleEvent.Id
                }
            }
            ;
            modifiedEvent.Name               = scaleEvent.Name;
            modifiedEvent.RequiredScaleAt    = scaleEvent.RequiredScaleAt;
            modifiedEvent.Scale              = scaleEvent.Scale;
            modifiedEvent.StartScaleDownAt   = scaleEvent.StartScaleDownAt;
            modifiedEvent.EstimatedScaleUpAt = modifiedEvent.RequiredScaleAt - EstimatedScaleTime;
            events.Add(modifiedEvent);

            await StateManager.SetStateAsync(Events, events, cancellationToken);

            return(new UpdatedScheduledScaleEvent
            {
                PreState = state,
                Id = modifiedEvent.Id,
                EstimatedScaleUpAt = modifiedEvent.EstimatedScaleUpAt,
                Name = modifiedEvent.Name,
                RequiredScaleAt = modifiedEvent.RequiredScaleAt,
                Scale = modifiedEvent.Scale,
                StartScaleDownAt = modifiedEvent.StartScaleDownAt,
            });
        }
Beispiel #2
0
    public override void  OnMsg(int msgID, object args)
    {
        if (msgID == (int)Const_Util.UNIT_MSG.START_JUMP)
        {
            if (jumpOprEvent != null && !jumpOprEvent.IsFinish())
            {
                return;
            }
            jumpOprEvent = new SeqEvent();
            Vector3       originScale = cobj.GetRenderObjTr().localScale;
            Vector3       destScale   = originScale * 1.34f;
            ParallelEvent jumpUpPara  = new ParallelEvent();
            ScaleEvent    scaleTo     = new ScaleEvent(cobj.GetRenderObjTr(), originScale, destScale, 0.4f);
            jumpUpPara.AddEvent(scaleTo);
            SeqEvent   upEvent     = new SeqEvent();
            TimerEvent upTimeDelay = new TimerEvent(0.1f);
            upEvent.AddEvent(upTimeDelay);
            OneTimerEvent scaletoFunc = new OneTimerEvent(JumpEnough);
            upEvent.AddEvent(scaletoFunc);
            jumpUpPara.AddEvent(upEvent);

            TimerEvent timeDelay = new TimerEvent(0.8f);

            SeqEvent   downEvent     = new SeqEvent();
            TimerEvent downTimeDelay = new TimerEvent(0.1f);
            downEvent.AddEvent(downTimeDelay);
            OneTimerEvent scalebackReset = new OneTimerEvent(JumpReset);
            downEvent.AddEvent(scalebackReset);
            ParallelEvent jumpDownPara = new ParallelEvent();
            jumpDownPara.AddEvent(downEvent);
            ScaleEvent scaleBack = new ScaleEvent(cobj.GetRenderObjTr(), destScale, originScale, 0.4f);
            jumpDownPara.AddEvent(scaleBack);

            jumpOprEvent.AddEvent(jumpUpPara);
            jumpOprEvent.AddEvent(timeDelay);
            jumpOprEvent.AddEvent(jumpDownPara);

            jumpOprEvent.Begin();
        }
    }
Beispiel #3
0
 private void OnScaleEvent(ITransformable transformable, Vector3 delta)
 {
     ScaleEvent?.Invoke(transformable, new TransformationEventArgs(delta, ActivePivot));
 }
Beispiel #4
0
 public override void OnEvent(ScaleEvent evnt)
 {
     BoltEntity target = evnt.TargEnt;
     target.gameObject.transform.localScale = new Vector3 (evnt.Scale, evnt.Scale, evnt.Scale);
 }
Beispiel #5
0
 protected void OnScale()
 {
     ScaleEvent?.Invoke(ScaleArgs);
 }