少年修仙传客户端代码仓库
client_Wu Xijin
2019-06-13 033958214c0b16d7e7b93cc821b018c295251867
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Snxxz.UI;
 
public class CreateRolePostProcessor
{
    public static bool HasPlayMovie(int playerId)
    {
        return LocalSave.GetBool(StringUtility.Contact(playerId, "_CreateRolePostMovie"));
    }
 
    public static void RecordPlayMovie(int playerId)
    {
        LocalSave.SetBool(StringUtility.Contact(playerId, "_CreateRolePostMovie"), true);
    }
 
    static bool isSkiped = false;
    static Action onEnd;
    public static void Begin(Action onComplete)
    {
        onEnd = onComplete;
        isSkiped = false;
 
        var uiroot = WindowCenter.Instance.uiRoot;
        uiroot.EnableCanvas(false, uiroot.baseCanvas,
                              uiroot.lifeBarCanvas,
                              uiroot.nameCanvas,
                              uiroot.normalCanvas,
                              uiroot.modalCanvas,
                              uiroot.tipsCanvas,
                              uiroot.systemCanvas,
                              uiroot.recycleBin,
                              uiroot.fightCanvasGroup.damageNumGroups[0].parent);
 
        WindowCenter.Instance.Open<CreateRoleMovieSkipWin>();
        CameraController.Instance.CameraObject.enabled = false;
 
        if (Application.isEditor)
        {
            PlayMovie();
        }
        else
        {
            WindowCenter.Instance.Close<LoadingWin>();
            CameraManager.uiCamera.backgroundColor = Color.black;
            CameraManager.uiCamera.clearFlags = CameraClearFlags.SolidColor;
            Clock.AlarmAfter(0.1f, PlayMovie);
        }
    }
 
    public static void Skip()
    {
        isSkiped = true;
        MoviePlayer.Instance.Stop();
    }
 
    static void PlayMovie()
    {
        switch (Application.platform)
        {
            case RuntimePlatform.Android:
            case RuntimePlatform.IPhonePlayer:
                Handheld.PlayFullScreenMovie("CreateRoleMovie.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput, FullScreenMovieScalingMode.AspectFit);
                Clock.AlarmAfter(0.1f, PlayCameraAnimation);
                break;
            case RuntimePlatform.WindowsPlayer:
                MoviePlayer.Instance.Play("CreateRoleMovie", PlayCameraAnimation);
                break;
            case RuntimePlatform.WindowsEditor:
            case RuntimePlatform.OSXEditor:
                MoviePlayer.Instance.Play("CreateRoleMovie", PlayCameraAnimation);
                break;
        }
    }
 
    static void PlayCameraAnimation()
    {
        CameraManager.uiCamera.clearFlags = CameraClearFlags.Depth;
        CameraController.Instance.CameraObject.enabled = true;
        CameraController.Instance.PlayAnimationClip("KC_Camera");
        var logicUpdate = new LogicUpdate();
        logicUpdate.Start(() =>
        {
            if (!CameraController.Instance.IsPlayingAnim)
            {
                logicUpdate.Destroy();
                OnStop();
            }
        });
    }
 
    static void OnStop()
    {
        var uiroot = WindowCenter.Instance.uiRoot;
        uiroot.EnableCanvas(true, uiroot.baseCanvas,
                                      uiroot.lifeBarCanvas,
                                      uiroot.nameCanvas,
                                      uiroot.normalCanvas,
                                      uiroot.modalCanvas,
                                      uiroot.tipsCanvas,
                                      uiroot.systemCanvas,
                                      uiroot.recycleBin,
                                      uiroot.fightCanvasGroup.damageNumGroups[0].parent);
 
        WindowCenter.Instance.Close<CreateRoleMovieSkipWin>();
 
        var sendInfo = new CA108_tagCMRefreshMainServerRole();
        GameNetSystem.Instance.SendInfo(sendInfo);
        CameraController.Instance.CameraObject.enabled = true;
        if (onEnd != null)
        {
            onEnd();
        }
    }
 
}