游戏里的简单活动框架

        好久没写东西了,主要是在上班期间确实没时间,一回到家就想玩游戏?,现在闲下来了(其实是项目突然解散了,是的,突然,上午还在开发新功能,下午就解散了那种?),想写点东西(不然几天不摸代码手生)!!!

        一般游戏,不管氪金不氪金,基本上都会有活动,一是提升玩家的游戏激情,二是促进消费(其实大部分都是坑钱的活动).其实就单独某个活动来讲,并不复杂,烦就烦在那种定时开启结束的.我这里讲的是一套简单的活动框架,大概功能包括:活动标签加载,活动加载,活动刷新,小红点(待定)提示等功能.

草图如下:

顶部是标题和关闭按钮,下方左侧是活动标签,右侧是对应的活动.

最终效果大致如下(一,活动切换)

(二)倒计时结束活动刷新

首先我们来说一下这个各个脚本的用处,脚本不多,大致讲一下

Act_SignIn.cs和Act_Test.cs是具体活动的对应脚本,这里只是临时用来测试的,就不多说了

活动框架真正用到的是其他三个===> 

ActivityMgr.cs : 活动管理器,主要负责各个部分的通信,活动数据管理,活动通用接口实现,主要是数据和逻辑部分的处理,放在这里;

ActivityMainUI.cs : 活动主UI控制脚本,包括创建标签,加载活动,刷新界面等;

ActivityTabObj.cs : 标签脚本,控制标签初始化,倒计时等; 

具体代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

//活动数据
public struct activityData
{
    public int id;
    public string name;
    public bool permanent;//常驻标志(为true则不需要开启关闭时间)
    public int openTime;//开启时间
    public int closeTime;//关闭时间
}

//活动名字(预制体名字)
public enum E_ActivityName
{
    //签到
    ActSignIn = 1,
    //.....
    ActTest = 2,
}

public class ActivityMgr
{
    private static ActivityMgr _mgr = null;

    public static ActivityMgr GetMgr()
    {
        if (_mgr == null)
        {
            _mgr = new ActivityMgr();
        }
        return _mgr;
    }

    public List<activityData> ActivityDatas = new List<activityData>();
    public List<Transform> actTabObjList = new List<Transform>();
    public ActivityTabObj curSelTab = null;

    public ActivityMainUI actMainUI = null;
    public void InitActivityDatas()
    {
        activityData data1 = new activityData();
        data1.id = 1;
        data1.name = "签到";
        data1.permanent = true;
        ActivityDatas.Add(data1);

        activityData data2 = new act
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值